An issue was discovered in libxml2 before 2.10.4. When hashing empty dict strings in a crafted XML document, xmlDictComputeFastKey in dict.c can produce non-deterministic values, leading to various logic and memory errors, such as a double free. This behavior occurs because there is an attempt to use the first byte of an empty string, and any value is possible (not solely the '\0' value).
https://www.cisa.gov/news-events/ics-advisories/icsa-24-165-10
https://www.cisa.gov/news-events/ics-advisories/icsa-24-165-04
https://cert-portal.siemens.com/productcert/html/ssa-556635.html
https://security.netapp.com/advisory/ntap-20230601-0006/
https://lists.debian.org/debian-lts-announce/2023/04/msg00031.html