CVE-2017-9047
published 2017-05-18CVE-2017-9047: 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…
PriorityP339high7.5CVSS 3.0
AVNACLPRNUINSUCNINAH
EPSS
3.19%
86.5th percentile
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.
Affected
21 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | libxml2 | < libxml2 2.9.4+dfsg1-3.1 (bookworm) | libxml2 2.9.4+dfsg1-3.1 (bookworm) |
| debian | libxml2 | < libxml2 2.9.14+dfsg-1.3~deb12u2 (bookworm) | libxml2 2.9.14+dfsg-1.3~deb12u2 (bookworm) |
| msrc | azl3_libxml2_2.11.5-4_on_azure_linux_3.0 | — | — |
| msrc | azl3_libxml2_2.11.5-5_on_azure_linux_3.0 | — | — |
| msrc | cbl2_libxml2_2.10.4-6_on_cbl_mariner_2.0 | — | — |
| netapp | ontap | — | — |
| xmlsoft | libxml2 | < 2.12.10 | 2.12.10 |
| xmlsoft | libxml2 | < 2.12.10 | 2.12.10 |
| xmlsoft | libxml2 | — | — |
| xmlsoft | libxml2 | >= 0 < 2.9.4+dfsg1-3.1 | 2.9.4+dfsg1-3.1 |
| xmlsoft | libxml2 | >= 0 < 2.9.10+dfsg-6.7+deb11u6 | 2.9.10+dfsg-6.7+deb11u6 |
| xmlsoft | libxml2 | >= 0 < 2.9.4+dfsg1-3.1 | 2.9.4+dfsg1-3.1 |
| xmlsoft | libxml2 | >= 0 < 2.9.14+dfsg-1.3~deb12u2 | 2.9.14+dfsg-1.3~deb12u2 |
| xmlsoft | libxml2 | >= 0 < 2.9.4+dfsg1-3.1 | 2.9.4+dfsg1-3.1 |
| xmlsoft | libxml2 | >= 0 < 2.12.7+dfsg+really2.9.14-0.4 | 2.12.7+dfsg+really2.9.14-0.4 |
| xmlsoft | libxml2 | >= 0 < 2.9.4+dfsg1-3.1 | 2.9.4+dfsg1-3.1 |
| xmlsoft | libxml2 | >= 0 < 2.12.7+dfsg+really2.9.14-0.4 | 2.12.7+dfsg+really2.9.14-0.4 |
| xmlsoft | libxml2 | >= 0 < 2.9.1+dfsg1-3ubuntu4.10 | 2.9.1+dfsg1-3ubuntu4.10 |
| xmlsoft | libxml2 | >= 0 < 2.9.3+dfsg1-1ubuntu0.3 | 2.9.3+dfsg1-1ubuntu0.3 |
| xmlsoft | libxml2 | >= 2.13.0 < 2.13.6 | 2.13.6 |
| xmlsoft | libxml2 | >= 2.13.0 < 2.13.6 | 2.13.6 |
CVSS provenance
nvdv3.07.5HIGHCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
nvdv2.05.0MEDIUMAV:N/AC:L/Au:N/C:N/I:N/A:P
osv7.8HIGH
vendor_msrc7.8HIGH
vendor_ubuntu7.8HIGH
vendor_debian7.5HIGH
vendor_redhat7.5HIGH
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
Red Hat
libxml2: Stack-based buffer overflow in xmlSnprintfElements of libxml2
vendor_redhat·2025-02-18·CVSS 7.5
CVE-2025-24928 [HIGH] CWE-121 libxml2: Stack-based buffer overflow in xmlSnprintfElements of libxml2
libxml2: Stack-based buffer overflow in xmlSnprintfElements of libxml2
libxml2 before 2.12.10 and 2.13.x before 2.13.6 has a stack-based buffer overflow in xmlSnprintfElements in valid.c. To exploit this, DTD validation must occur for an untrusted document or untrusted DTD. NOTE: this is similar to CVE-2017-9047.
A flaw was found in libxml2. This vulnerability allows a stack-based buffer overflow via DTD validation of an untrusted document or untrusted DTD.
Statement: This vulnerability is rated as important because it involves a stack-based buffer overflow in the xmlSnprintfElements function within valid.c. Exploiting this issue requires DTD validation to occur on an untrusted document or untrusted DTD, making it a potential security risk for applications using libxml2 that do not adeq
Microsoft
libxml2 before 2.12.10 and 2.13.x before 2.13.6 has a stack-based buffer overflow in xmlSnprintfElements in valid.c. To exploit this, DTD validation must occur for an untrusted document or untrusted D
vendor_msrc·2025-02-11·CVSS 7.8
CVE-2025-24928 [HIGH] CWE-121 libxml2 before 2.12.10 and 2.13.x before 2.13.6 has a stack-based buffer overflow in xmlSnprintfElements in valid.c. To exploit this, DTD validation must occur for an untrusted document or untrusted D
libxml2 before 2.12.10 and 2.13.x before 2.13.6 has a stack-based buffer overflow in xmlSnprintfElements in valid.c. To exploit this, DTD validation must occur for an untrusted document or untrusted DTD. NOTE: this is similar to CVE-2017-9047.
FAQ: Is Azure Linux the only Microsoft product that includes this open-source library and is therefore potentially affected by this vulnerability?
One of the main benefits to our customers who choose to use the Azure Linux distro is the commitment to keep it up to date with the most recent and most secure versions of the open source libraries with which the distro is composed. Microsoft is committed to transparency in this work which is why we began publishing CSAF/VEX in October 2025. See this blog post for more information. If impact to additional
Debian
CVE-2025-24928: libxml2 - libxml2 before 2.12.10 and 2.13.x before 2.13.6 has a stack-based buffer overflo...
vendor_debian·2025·CVSS 7.5
CVE-2025-24928 [HIGH] CVE-2025-24928: libxml2 - libxml2 before 2.12.10 and 2.13.x before 2.13.6 has a stack-based buffer overflo...
libxml2 before 2.12.10 and 2.13.x before 2.13.6 has a stack-based buffer overflow in xmlSnprintfElements in valid.c. To exploit this, DTD validation must occur for an untrusted document or untrusted DTD. NOTE: this is similar to CVE-2017-9047.
Scope: local
bookworm: resolved (fixed in 2.9.14+dfsg-1.3~deb12u2)
bullseye: resolved (fixed in 2.9.10+dfsg-6.7+deb11u6)
forky: resolved (fixed in 2.12.7+dfsg+really2.9.14-0.4)
sid: resolved (fixed in 2.12.7+dfsg+really2.9.14-0.4)
trixie: resolved (fixed in 2.12.7+dfsg+really2.9.14-0.4)
CISA ICS
Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP V3.1
cisa_ics·2023-12-14
Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP V3.1
ICS Advisory
##
Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP V3.1
Release DateDecember 14, 2023
Alert CodeICSA-23-348-10
As of January 10, 2023, CISA will no longer be updating ICS security advisories for Siemens product vulnerabilities beyond the initial advisory. For the most up-to-date information on vulnerabilities in this advisory, please see Siemens' ProductCERT Security Advisories (CERT Services | Services | Siemens Global).
View CSAF
## 1. EXECUTIVE SUMMARY
- CVSS v3 9.8
- ATTENTION: Exploitable remotely/low attack complexity
- Vendor: Siemens
- Equipment: SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP V3.1
- Vulnerabilities: Improper Restriction of XML External Entity Reference, Time-of-check Time-of-use (TOCTOU) Race Condition, Command Injection, Miss
Ubuntu
libxml2 vulnerabilities
vendor_ubuntu·2017-10-10·CVSS 7.8
CVE-2017-0663 [HIGH] libxml2 vulnerabilities
Title: libxml2 vulnerabilities
Summary: Several security issues were fixed in libxml2.
USN-3424-1 fixed several vulnerabilities in libxml2. This update
provides the corresponding update for Ubuntu 12.04 ESM.
Original advisory details:
It was discovered that a type confusion error existed in libxml2. An
attacker could use this to specially construct XML data that
could cause a denial of service or possibly execute arbitrary
code. (CVE-2017-0663)
It was discovered that libxml2 did not properly validate parsed entity
references. An attacker could use this to specially construct XML
data that could expose sensitive information. (CVE-2017-7375)
It was discovered that a buffer overflow existed in libxml2 when
handling HTTP redirects. An attacker could use this to specially
construct XML da
Ubuntu
libxml2 vulnerabilities
vendor_ubuntu·2017-09-19·CVSS 7.8
CVE-2017-0663 [HIGH] libxml2 vulnerabilities
Title: libxml2 vulnerabilities
Summary: Several security issues were fixed in libxml2.
It was discovered that a type confusion error existed in libxml2. An
attacker could use this to specially construct XML data that
could cause a denial of service or possibly execute arbitrary
code. (CVE-2017-0663)
It was discovered that libxml2 did not properly validate parsed entity
references. An attacker could use this to specially construct XML
data that could expose sensitive information. (CVE-2017-7375)
It was discovered that a buffer overflow existed in libxml2 when
handling HTTP redirects. An attacker could use this to specially
construct XML data that could cause a denial of service or possibly
execute arbitrary code. (CVE-2017-7376)
Marcel Böhme and Van-Thuan Pham discovered a buffer overf
Red Hat
libxml2: Buffer overflow in function xmlSnprintfElementContent
vendor_redhat·2017-05-15·CVSS 7.5
CVE-2017-9047 [HIGH] CWE-122 libxml2: Buffer overflow in function xmlSnprintfElementContent
libxml2: Buffer overflow in function xmlSnprintfElementContent
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.
State
Debian
CVE-2017-9047: libxml2 - A buffer overflow was discovered in libxml2 20904-GITv2.9.4-16-g0741801. The fun...
vendor_debian·2017·CVSS 7.5
CVE-2017-9047 [HIGH] CVE-2017-9047: libxml2 - A buffer overflow was discovered in libxml2 20904-GITv2.9.4-16-g0741801. The fun...
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.
Scope: local
bookworm: resolved (fixed in 2.9.4+dfsg1-3.1)
bullseye: r
GHSA
GHSA-fgfv-9xqc-v794: libxml2 before 2
ghsa_unreviewed·2025-02-19·CVSS 7.5
CVE-2025-24928 [HIGH] CWE-121 GHSA-fgfv-9xqc-v794: libxml2 before 2
libxml2 before 2.12.10 and 2.13.x before 2.13.6 has a stack-based buffer overflow in xmlSnprintfElements in valid.c. To exploit this, DTD validation must occur for an untrusted document or untrusted DTD. NOTE: this is similar to CVE-2017-9047.
OSV
CVE-2025-24928: libxml2 before 2
osv·2025-02-18·CVSS 7.5
CVE-2025-24928 [HIGH] CVE-2025-24928: libxml2 before 2
libxml2 before 2.12.10 and 2.13.x before 2.13.6 has a stack-based buffer overflow in xmlSnprintfElements in valid.c. To exploit this, DTD validation must occur for an untrusted document or untrusted DTD. NOTE: this is similar to CVE-2017-9047.
GHSA
GHSA-m5m9-w72w-8c23: A buffer overflow was discovered in libxml2 20904-GITv2
ghsa_unreviewed·2022-05-13
CVE-2017-9047 [HIGH] CWE-119 GHSA-m5m9-w72w-8c23: A buffer overflow was discovered in libxml2 20904-GITv2
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.
OSV
libxml2 vulnerabilities
osv·2017-09-19·CVSS 7.8
CVE-2017-0663 [HIGH] libxml2 vulnerabilities
libxml2 vulnerabilities
It was discovered that a type confusion error existed in libxml2. An
attacker could use this to specially construct XML data that
could cause a denial of service or possibly execute arbitrary
code. (CVE-2017-0663)
It was discovered that libxml2 did not properly validate parsed entity
references. An attacker could use this to specially construct XML
data that could expose sensitive information. (CVE-2017-7375)
It was discovered that a buffer overflow existed in libxml2 when
handling HTTP redirects. An attacker could use this to specially
construct XML data that could cause a denial of service or possibly
execute arbitrary code. (CVE-2017-7376)
Marcel Böhme and Van-Thuan Pham discovered a buffer overflow in
libxml2 when handling elements. An attacker could use thi
OSV
CVE-2017-9047: A buffer overflow was discovered in libxml2 20904-GITv2
osv·2017-05-18·CVSS 7.5
CVE-2017-9047 [HIGH] CVE-2017-9047: A buffer overflow was discovered in libxml2 20904-GITv2
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.
No detection rules found.
No public exploits indexed.
Bugzilla
CVE-2025-24928 libxml2: Stack-based buffer overflow in xmlSnprintfElements of libxml2
bugzilla·2025-02-18·CVSS 7.5
CVE-2025-24928 [HIGH] CVE-2025-24928 libxml2: Stack-based buffer overflow in xmlSnprintfElements of libxml2
CVE-2025-24928 libxml2: Stack-based buffer overflow in xmlSnprintfElements of libxml2
libxml2 before 2.12.10 and 2.13.x before 2.13.6 has a stack-based buffer overflow in xmlSnprintfElements in valid.c. To exploit this, DTD validation must occur for an untrusted document or untrusted DTD. NOTE: this is similar to CVE-2017-9047.
Discussion:
This issue has been addressed in the following products:
Red Hat Enterprise Linux 9.2 Extended Update Support
Via RHSA-2025:2482 https://access.redhat.com/errata/RHSA-2025:2482
---
This issue has been addressed in the following products:
Red Hat Enterprise Linux 9.0 Update Services for SAP Solutions
Via RHSA-2025:2483 https://access.redhat.com/errata/RHSA-2025:2483
---
This issue has been addressed in the following products:
Red Hat Enterpris
Bugzilla
CVE-2017-9047 CVE-2017-9048 CVE-2017-9049 CVE-2017-9050 mingw-libxml2: various flaws [fedora-all]
bugzilla·2017-05-19·CVSS 7.5
CVE-2017-9047 [HIGH] CVE-2017-9047 CVE-2017-9048 CVE-2017-9049 CVE-2017-9050 mingw-libxml2: various flaws [fedora-all]
CVE-2017-9047 CVE-2017-9048 CVE-2017-9049 CVE-2017-9050 mingw-libxml2: various flaws [fedora-all]
This is an automatically created tracking bug! It was created to ensure
that one or more security vulnerabilities are fixed in affected versions
of fedora-all.
For comments that are specific to the vulnerability please use bugs filed
against the "Security Response" product referenced in the "Blocks" field.
For more information see:
http://fedoraproject.org/wiki/Security/TrackingBugs
When submitting as an update, use the fedpkg template provided in the next
comment(s). This will include the bug IDs of this tracking bug as well as
the relevant top-level CVE bugs.
Please also mention the CVE IDs being fixed in the RPM changelog and the
fedpkg commit message.
NOTE: this issue affects multipl
Bugzilla
CVE-2017-9047 CVE-2017-9048 CVE-2017-9049 CVE-2017-9050 libxml2: various flaws [fedora-all]
bugzilla·2017-05-19·CVSS 7.5
CVE-2017-9047 [HIGH] CVE-2017-9047 CVE-2017-9048 CVE-2017-9049 CVE-2017-9050 libxml2: various flaws [fedora-all]
CVE-2017-9047 CVE-2017-9048 CVE-2017-9049 CVE-2017-9050 libxml2: various flaws [fedora-all]
This is an automatically created tracking bug! It was created to ensure
that one or more security vulnerabilities are fixed in affected versions
of fedora-all.
For comments that are specific to the vulnerability please use bugs filed
against the "Security Response" product referenced in the "Blocks" field.
For more information see:
http://fedoraproject.org/wiki/Security/TrackingBugs
When submitting as an update, use the fedpkg template provided in the next
comment(s). This will include the bug IDs of this tracking bug as well as
the relevant top-level CVE bugs.
Please also mention the CVE IDs being fixed in the RPM changelog and the
fedpkg commit message.
NOTE: this issue affects multiple supp
Bugzilla
CVE-2017-9047 libxml2: Buffer overflow in function xmlSnprintfElementContent
bugzilla·2017-05-19·CVSS 7.5
CVE-2017-9047 [HIGH] CVE-2017-9047 libxml2: Buffer overflow in function xmlSnprintfElementContent
CVE-2017-9047 libxml2: Buffer overflow in function xmlSnprintfElementContent
A buffer overflow was discovered in libxml2. 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 to crash.
References:
http://seclists.org/
arXiv
PBFuzz: Agentic Directed Fuzzing for PoV Generation
arxiv_fulltext·2025-12-04
PBFuzz: Agentic Directed Fuzzing for PoV Generation
PBFuzz: Agentic Directed Fuzzing for PoV Generation
[1]
[0]
2025. This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0).
https://creativecommons.org/licenses/by-nc/4.0/
Haochen Zeng
[email protected]
Department of Computer Science and Engineering
University of California, Riverside
Riverside
California
USA
Andrew Bao
[email protected]
Department of Computer Science and Engineering
University of Minnesota, Twin Cities
Minneapolis
Minnesota
USA
Jiajun Cheng
[email protected]
Department of Computer Science and Engineering
University of California, Riverside
Riverside
California
USA
Chengyu Song
[email protected]
Department of Computer Science and Engineering
University of California, Riverside
Riverside
California
USA
## Abstr
arXiv
Context-aware Failure-oblivious Computing as a Means of Preventing Buffer Overflows
arxiv_fulltext·2018-11-22
Context-aware Failure-oblivious Computing as a Means of Preventing Buffer Overflows
Context-aware Failure-oblivious Computing as a Means of Preventing Buffer OverflowsThe final authenticated version is available online at https://doi.org/10.1007/978-3-030-02744-5_29. We thank Oracle Labs for funding this research. We thank Gerg\"o Barany, Roland Yap, and Fabio Niephaus for their useful feedback on an early draft of this paper. We thank Ingrid Abfalter for proofreading and editorial assistance.
Manuel Rigger1
Daniel Pekarek1
Hanspeter M\"ossenb\"ock1
M. Rigger et al.
Johannes Kepler University Linz, Austria
\manuel.rigger,daniel.pekarek,hanspeter.moessenboeck\@jku.at
## Abstract
In languages like C, buffer overflows are widespread.
A common mitigation technique is to use tools that detect them during execution and abort the program to prevent data leakage or the diversi
http://www.debian.org/security/2017/dsa-3952http://www.openwall.com/lists/oss-security/2017/05/15/1http://www.securityfocus.com/bid/98599https://lists.apache.org/thread.html/r58af02e294bd07f487e2c64ffc0a29b837db5600e33b6e698b9d696b%40%3Cissues.bookkeeper.apache.org%3Ehttps://lists.apache.org/thread.html/rf4c02775860db415b4955778a131c2795223f61cb8c6a450893651e4%40%3Cissues.bookkeeper.apache.org%3Ehttps://security.gentoo.org/glsa/201711-01http://www.debian.org/security/2017/dsa-3952http://www.openwall.com/lists/oss-security/2017/05/15/1http://www.securityfocus.com/bid/98599https://lists.apache.org/thread.html/r58af02e294bd07f487e2c64ffc0a29b837db5600e33b6e698b9d696b%40%3Cissues.bookkeeper.apache.org%3Ehttps://lists.apache.org/thread.html/rf4c02775860db415b4955778a131c2795223f61cb8c6a450893651e4%40%3Cissues.bookkeeper.apache.org%3Ehttps://security.gentoo.org/glsa/201711-01
2017-05-18
Published