CVE-2017-9048

Exp

libxml2 20904-GITv2.9.4-16-g0741801 is vulnerable to a stack-based buffer overflow. The function xmlSnprintfElementContent in valid.c is supposed to recursively dump the element content definition into a char buffer 'buf' of size 'size'. At the end of the routine, the function may strcat two more characters without checking whether the current strlen(buf) + 2 < size. This vulnerability causes programs that use libxml2, such as PHP, to crash.

Published: 2017-05-18 Last update: 2026-06-16 Assigner: [email protected] Source: [email protected]

Conclusion & alert: CVE-2017-9048 is rated High Exploit Risk (81.2/100): CVSS High severity, with high exploitation likelihood (EPSS 4.89%, 91th percentile). Core evidence: 1 public exploit reference(s) are indexed (Exploit-DB). EPSS rose +4.34% over the last day, indicating growing attacker interest. Mandatory action: Public exploits are available—assess exposure, apply mitigations, and prioritize patching.

Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.

Public exploit references (Exploit-DB) for CVE-2017-9048

EDB-ID Source Kind Published Link
nvd_ref exploit_tag Exploit-DB ↗

Exploit prediction scoring system (EPSS) score for CVE-2017-9048

EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).

# Date Old EPSS score New EPSS score Delta (New - Old)
1 2026-06-15 0.55% 4.89% +4.34%
2 2026-03-27 0.54% 0.55% +0.01%
3 2026-01-06 0.54%

Full EPSS history (23 records total)

Common vulnerability scoring system (CVSS) metrics for CVE-2017-9048

CVSS metrics for this CVE.

Base score Version Severity Vector Exploitability Impact Score source
7.5 3.1 HIGH
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:N)
Doesn’t really leak secrets in a meaningful way.
Integrity (I:N)
Data isn’t meaningfully altered or forged.
Availability (A:H)
Could take the service down hard or make it unusable for people who depend on it.
3.9 3.6 134c704f-9b21-4f2e-91b3-4a467353bcc0
7.5 3.0 HIGH
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:N)
Doesn’t really leak secrets in a meaningful way.
Integrity (I:N)
Data isn’t meaningfully altered or forged.
Availability (A:H)
Could take the service down hard or make it unusable for people who depend on it.
3.9 3.6 [email protected]
5.0 2.0 MEDIUM
AV:N/AC:L/Au:N/C:N/I:N/A:P Click to expand
Access vector (AV:N)
Can be exploited remotely over network reachability.
Access complexity (AC:L)
Exploitation conditions are straightforward and predictable.
Authentication (AU:N)
No authentication is required.
Confidentiality impact (C:N)
No confidentiality impact.
Integrity impact (I:N)
No integrity impact.
Availability impact (A:P)
Partial availability impact.
10.0 2.9 [email protected]

Weakness enumeration for CVE-2017-9048

OS Trackers for CVE-2017-9048

vendor priority summary link
alpine CVE-2017-9048: 1 source package rows (libxml2); 15 state rows across 5 repos (3.19-main, 3.20-main, 3.21-main, 3.22-main, edge-main); fixed 0, open 15. https://security.alpinelinux.org/vuln/CVE-2017-9048
debian not yet assigned CVE-2017-9048 not yet assigned priority: Debian including 1 source packages (libxml2), 5 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): resolved 5. https://security-tracker.debian.org/tracker/CVE-2017-9048
gentoo normal CVE-2017-9048: 1 GLSA(s) (201711-01), 1 atom(s) (dev-libs/libxml2); latest impact normal. https://bugs.gentoo.org/buglist.cgi?quicksearch=CVE-2017-9048
redhat low https://access.redhat.com/security/cve/CVE-2017-9048
suse medium CVE-2017-9048 severity moderate: SUSE including 364 source package names (0.9.1:libxml2-2-2.9.4-39.2, 1.0.0:libxml2-2-2.9.4-39.2, …), 513 product×package rows across 102 product lines (Container caasp/v4/default-http-backend, Container caasp/v4/dnsmasq-nanny, … (102 product lines)): Fixed 310, Known Affected 157, Known Not Affected 46. https://www.suse.com/security/cve/CVE-2017-9048/
ubuntu medium CVE-2017-9048 medium priority: Ubuntu including 1 source packages (libxml2), 5 status rows across 5 suites (trusty, upstream, xenial, yakkety, zesty): released 4, ignored 1. https://ubuntu.com/security/CVE-2017-9048

Affected software / configurations for CVE-2017-9048

Vendor Product Version Raw CPE
xmlsoft libxml2 2.9.4 cpe:2.3:a:xmlsoft:libxml2:2.9.4:*:*:*:*:*:*:*

References for CVE-2017-9048

cvelogic Threat Intelligence