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).
{
"binaries": [
{
"binary_version": "2.9.1+dfsg1-3ubuntu4.13+esm5",
"binary_name": "libxml2"
},
{
"binary_version": "2.9.1+dfsg1-3ubuntu4.13+esm5",
"binary_name": "libxml2-dev"
},
{
"binary_version": "2.9.1+dfsg1-3ubuntu4.13+esm5",
"binary_name": "libxml2-utils"
},
{
"binary_version": "2.9.1+dfsg1-3ubuntu4.13+esm5",
"binary_name": "python-libxml2"
}
],
"availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro"
}
{
"binaries": [
{
"binary_version": "2.9.3+dfsg1-1ubuntu0.7+esm5",
"binary_name": "libxml2"
},
{
"binary_version": "2.9.3+dfsg1-1ubuntu0.7+esm5",
"binary_name": "libxml2-dev"
},
{
"binary_version": "2.9.3+dfsg1-1ubuntu0.7+esm5",
"binary_name": "libxml2-utils"
},
{
"binary_version": "2.9.3+dfsg1-1ubuntu0.7+esm5",
"binary_name": "python-libxml2"
}
],
"availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro"
}
{
"binaries": [
{
"binary_version": "2.9.4+dfsg1-6.1ubuntu1.9",
"binary_name": "libxml2"
},
{
"binary_version": "2.9.4+dfsg1-6.1ubuntu1.9",
"binary_name": "libxml2-dev"
},
{
"binary_version": "2.9.4+dfsg1-6.1ubuntu1.9",
"binary_name": "libxml2-utils"
},
{
"binary_version": "2.9.4+dfsg1-6.1ubuntu1.9",
"binary_name": "python-libxml2"
},
{
"binary_version": "2.9.4+dfsg1-6.1ubuntu1.9",
"binary_name": "python3-libxml2"
}
],
"availability": "No subscription required"
}
{
"binaries": [
{
"binary_version": "2.9.10+dfsg-5ubuntu0.20.04.6",
"binary_name": "libxml2"
},
{
"binary_version": "2.9.10+dfsg-5ubuntu0.20.04.6",
"binary_name": "libxml2-dev"
},
{
"binary_version": "2.9.10+dfsg-5ubuntu0.20.04.6",
"binary_name": "libxml2-utils"
},
{
"binary_version": "2.9.10+dfsg-5ubuntu0.20.04.6",
"binary_name": "python-libxml2"
},
{
"binary_version": "2.9.10+dfsg-5ubuntu0.20.04.6",
"binary_name": "python3-libxml2"
}
],
"availability": "No subscription required"
}
{
"binaries": [
{
"binary_version": "2.9.13+dfsg-1ubuntu0.3",
"binary_name": "libxml2"
},
{
"binary_version": "2.9.13+dfsg-1ubuntu0.3",
"binary_name": "libxml2-dev"
},
{
"binary_version": "2.9.13+dfsg-1ubuntu0.3",
"binary_name": "libxml2-utils"
},
{
"binary_version": "2.9.13+dfsg-1ubuntu0.3",
"binary_name": "python3-libxml2"
}
],
"availability": "No subscription required"
}