CVE-2017-9047: Buffer Overflow
A buffer overflow was discovered in libxml2 20904-GITv2.9.4-16-g0741801. The function xmlSnprintfElementContent in valid.c is supposed to recursively dump the element content definition into a char buffer 'buf' of size 'size'. The variable len is assigned strlen(buf). If the content->type is XMLELEMENTCONTENTELEMENT, then (i) the content->prefix is appended to buf (if it actually fits) whereupon (ii) content->name is written to the buffer. However, the check for whether the content->name actually fits also uses 'len' rather than the updated buffer length strlen(buf). This allows us to write about "size" many bytes beyond the allocated memory. This vulnerability causes programs that use libxml2, such as PHP, to crash.
Affected Software
Remediation
Patch Available
Event History
Frequently Asked Questions
What is the severity of CVE-2017-9047?
CVE-2017-9047 has a severity score of 7.5, categorizing it as high severity.
How do I fix CVE-2017-9047?
To fix CVE-2017-9047, update libxml2 to one of the patched versions such as 2.9.4+dfsg1-3.1 or 2.9.14+dfsg-1.3.
Which software is affected by CVE-2017-9047?
CVE-2017-9047 affects the libxml2 package, particularly versions 2.9.4 and earlier.
What type of vulnerability is CVE-2017-9047?
CVE-2017-9047 is a buffer overflow vulnerability found in the libxml2 library.
Is CVE-2017-9047 exploitable?
Yes, CVE-2017-9047 is exploitable and can lead to potential code execution risks if left unpatched.