CVE-2017-9047

libxml2: Buffer overflow in function xmlSnprintfElementContent

Published May 18, 2017 CVSS 3.0 · 7.5 High EPSS 3.2% KEV · Not listed
Description
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 XML_ELEMENT_CONTENT_ELEMENT, 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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Debian DLA Debian DLA DLA-1008-1 libxml2 security update
Debian DLA Debian DLA DLA-4064-1 libxml2 security update
Debian DSA Debian DSA DSA-3952-1 libxml2 security update
EUVD EUVD EUVD-2017-17987 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 XML_ELEMENT_CONTENT_ELEMENT, 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.
Ubuntu USN Ubuntu USN USN-3424-1 libxml2 vulnerabilities
Ubuntu USN Ubuntu USN USN-3424-2 libxml2 vulnerabilities
History
Type Values Removed Values Added
Metrics epss

{'score': 0.01286}

epss

{'score': 0.014}

Weaknesses

Sources

Status
PUBLISHED
Assigner
mitre
Published
Updated
Oct 14, 2026, 6:30 AM
Reserved
May 18, 2017, 12:00 AM
Status
Modified
Published
May 18, 2017, 6:29 AM
Modified
Oct 14, 2026, 7:16 AM
Severity
Moderate
Public date
May 15, 2017, 12:00 AM