CVE-2016-3705: Input Validation
It is possible to trigger a stack overflow using a carefully crafted invalid xml file, the stack overflow occurs before libxml2 determines the xml file is invalid.
Upstream bug:
https://bugzilla.gnome.org/showbug.cgi?id=765207
Other sources
Missing incrementation of recursion depth counter were found in the xmlParserEntityCheck() and xmlParseAttValueComplex() functions used for parsing XML data. An attacker could launch a Denial of Service attack by passing specially crafted XML data to an application, forcing it to crash due to stack exhaustion.
The (1) xmlParserEntityCheck and (2) xmlParseAttValueComplex functions in parser.c in libxml2 2.9.3 do not properly keep track of the recursion depth, which allows context-dependent attackers to cause a denial of service (stack consumption and application crash) via a crafted XML document containing a large number of nested entity references.
Affected Software
Event History
Parent advisories
This vulnerability appears in the following advisories.
Frequently Asked Questions
What is the severity of CVE-2016-3705?
CVE-2016-3705 is classified as a high-severity vulnerability due to its potential for causing a stack overflow.
How do I fix CVE-2016-3705?
To mitigate CVE-2016-3705, update libxml2 to the recommended versions: 0:2.7.6-21.el6_8.1 for RedHat or 2.9.4+dfsg1-7+deb10u4 for Debian.
What systems are affected by CVE-2016-3705?
CVE-2016-3705 affects various versions of libxml2 across different operating systems including RedHat, Debian, and Ubuntu.
What kind of attack does CVE-2016-3705 enable?
CVE-2016-3705 allows attackers to exploit a stack overflow by using a specially crafted invalid XML file.
When was CVE-2016-3705 first reported?
CVE-2016-3705 was first reported in 2016, highlighting the vulnerabilities in libxml2.