libxml2 < 2.10.3: Hash Collision & Double-Free via Malformed XML Entity
CVE-2022-40304 Published on November 23, 2022
An issue was discovered in libxml2 before 2.10.3. Certain invalid XML entity definitions can corrupt a hash table key, potentially leading to subsequent logic errors. In one case, a double-free can be provoked.
Vulnerability Analysis
CVE-2022-40304 is exploitable with local system access, requires user interaction. This vulnerability is considered to have a low attack complexity. The potential impact of an exploit of this vulnerability is considered to be very high.
Weakness Type
What is a Double-free Vulnerability?
The product calls free() twice on the same memory address, potentially leading to modification of unexpected memory locations. When a program calls free() twice with the same argument, the program's memory management data structures become corrupted. This corruption can cause the program to crash or, in some circumstances, cause two later calls to malloc() to return the same pointer. If malloc() returns the same value twice and the program later gives the attacker control over the data that is written into this doubly-allocated memory, the program becomes vulnerable to a buffer overflow attack.
CVE-2022-40304 has been classified to as a Double-free vulnerability or weakness.
Products Associated with CVE-2022-40304
You can be notified by email with stack.watch whenever vulnerabilities like CVE-2022-40304 are published in these products:
Vulnerable Packages
The following package name and versions may be associated with CVE-2022-40304
| Package Manager | Vulnerable Package | Versions | Fixed In |
|---|---|---|---|
| rubygems | nokogiri | < 1.13.9 | 1.13.9 |
Exploit Probability
EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.