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.

Github Repository NVD

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.

Attack Vector:
LOCAL
Attack Complexity:
LOW
Privileges Required:
NONE
User Interaction:
REQUIRED
Scope:
UNCHANGED
Confidentiality Impact:
HIGH
Integrity Impact:
HIGH
Availability Impact:
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
0.11%
Percentile
28.87%

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.