CVE-2012-1148
NoneCVSS
—
EPSS
3.6%
Published
Jul 3, 2012
CISA due date
—
Cloudanix analysis
A long-standing flaw in an XML library used by some provisioning tools can let attackers slowly use up all available memory through specially formatted data, eventually making the tools stop working.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Memory leak in poolGrow during entity expansion in XML parsing causes unbounded memory consumption from crafted inputs that trigger repeated reallocation failures.
Why it matters to the business
Applications processing untrusted XML can exhaust available memory and become unavailable, disrupting dependent services and operations; the vulnerability is old with low exploitation likelihood and affects specific provisioner packages.
How an attack unfolds
An attacker supplies a large number of specially crafted XML documents that force repeated entity expansion attempts; each attempt fails to properly release memory on reallocation error, gradually consuming resources until the process terminates or becomes unresponsive.
How to fix it
Upgrade dynamic-localpv-provisioner (Chainguard) and dynamic-localpv-provisioner (Wolfi) to version 4.0.0-r3 or later; rebuild and redeploy any containers or images that embed the affected package.
How to confirm the fix worked
Confirm the installed package version meets or exceeds the fixed release; run regression tests that feed large numbers of entity-expansion XML payloads and monitor memory usage for leaks.
Typical attack path
- Identify a network-accessible service that parses XML using the vulnerable expat library
- Generate or obtain multiple crafted XML files designed to trigger entity-expansion reallocation failures
- Send the files in rapid succession or in high volume to the target service
- Observe progressive memory growth until the process crashes or is killed by the OS
How to detect it
Review process memory and resource-usage logs for sustained growth correlated with XML parsing activity; examine application error logs for repeated reallocation failures inside expat; because public exploitation is unknown, focus on post-upgrade verification rather than historical indicators.
What your security team should do
- Apply the 4.0.0-r3 update to all affected provisioner deployments immediately
- Scan container images and SBOMs for any remaining instances of expat before 2.1.0
- Add memory-usage monitoring and alerting for XML-processing workloads
- Review ingress points that accept XML and apply strict size or entity-expansion limits where possible
The record
Memory leak in the poolGrow function in expat/lib/xmlparse.c in expat before 2.1.0 allows context-dependent attackers to cause a denial of service (memory consumption) via a large number of crafted XML files that cause improperly-handled reallocation failures when expanding entities.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | xmlrpc-c | 0 | 1.16.33-3.2 |
| Debian:11 | expat | 0 | 2.1.0~beta3-1 |
| Debian:11 | libxmltok | 0 | No fix |
| Debian:11 | xmlrpc-c | 0 | 1.16.33-3.2 |
| Debian:12 | expat | 0 | 2.1.0~beta3-1 |
| Debian:12 | libxmltok | 0 | No fix |
| Debian:12 | xmlrpc-c | 0 | 1.16.33-3.2 |
| Debian:13 | expat | 0 | 2.1.0~beta3-1 |
| Debian:13 | xmlrpc-c | 0 | 1.16.33-3.2 |
| Debian:6.0 | expat | 0 | 2.0.1-7+squeeze1 |
| Red Hat:enterprise_linux:5::client | expat | 0 | 0:1.95.8-11.el5_8 |
| Red Hat:enterprise_linux:5::client | expat-debuginfo | 0 | 0:1.95.8-11.el5_8 |
| Red Hat:enterprise_linux:5::client | expat-devel | 0 | 0:1.95.8-11.el5_8 |
| Red Hat:enterprise_linux:5::client_workstation | expat | 0 | 0:1.95.8-11.el5_8 |
| Red Hat:enterprise_linux:5::client_workstation | expat-debuginfo | 0 | 0:1.95.8-11.el5_8 |
| Red Hat:enterprise_linux:5::client_workstation | expat-devel | 0 | 0:1.95.8-11.el5_8 |
| Red Hat:enterprise_linux:5::server | expat | 0 | 0:1.95.8-11.el5_8 |
| Red Hat:enterprise_linux:5::server | expat-debuginfo | 0 | 0:1.95.8-11.el5_8 |
| Red Hat:enterprise_linux:5::server | expat-devel | 0 | 0:1.95.8-11.el5_8 |
| Red Hat:enterprise_linux:6::client | expat | 0 | 0:2.0.1-11.el6_2 |
| Red Hat:enterprise_linux:6::client | expat-debuginfo | 0 | 0:2.0.1-11.el6_2 |
| Red Hat:enterprise_linux:6::client | expat-devel | 0 | 0:2.0.1-11.el6_2 |
| Red Hat:enterprise_linux:6::computenode | expat | 0 | 0:2.0.1-11.el6_2 |
| Red Hat:enterprise_linux:6::computenode | expat-debuginfo | 0 | 0:2.0.1-11.el6_2 |
| Red Hat:enterprise_linux:6::computenode | expat-devel | 0 | 0:2.0.1-11.el6_2 |
| Red Hat:enterprise_linux:6::server | expat | 0 | 0:2.0.1-11.el6_2 |
| Red Hat:enterprise_linux:6::server | expat-debuginfo | 0 | 0:2.0.1-11.el6_2 |
| Red Hat:enterprise_linux:6::server | expat-devel | 0 | 0:2.0.1-11.el6_2 |
| Red Hat:enterprise_linux:6::workstation | expat | 0 | 0:2.0.1-11.el6_2 |
| Red Hat:enterprise_linux:6::workstation | expat-debuginfo | 0 | 0:2.0.1-11.el6_2 |
| Red Hat:enterprise_linux:6::workstation | expat-devel | 0 | 0:2.0.1-11.el6_2 |
| Ubuntu:16.04:LTS | ayttm | 0 | No fix |
| Ubuntu:16.04:LTS | cableswig | 0 | No fix |
| Ubuntu:16.04:LTS | cadaver | 0 | No fix |
| Ubuntu:16.04:LTS | insighttoolkit | 0 | No fix |
| Ubuntu:16.04:LTS | matanza | 0 | No fix |
| Ubuntu:16.04:LTS | swish-e | 0 | No fix |
| Ubuntu:18.04:LTS | cadaver | 0 | No fix |
| Ubuntu:18.04:LTS | coin3 | 0 | No fix |
| Ubuntu:18.04:LTS | matanza | 0 | No fix |
| Ubuntu:18.04:LTS | swish-e | 0 | No fix |
| Ubuntu:18.04:LTS | vnc4 | 0 | No fix |
| Ubuntu:20.04:LTS | cadaver | 0 | No fix |
| Ubuntu:20.04:LTS | libxmltok | 0 | No fix |
| Ubuntu:20.04:LTS | matanza | 0 | No fix |
| Ubuntu:20.04:LTS | swish-e | 0 | No fix |
| Ubuntu:22.04:LTS | cadaver | 0 | No fix |
| Ubuntu:22.04:LTS | libxmltok | 0 | No fix |
| Ubuntu:22.04:LTS | matanza | 0 | No fix |
| Ubuntu:22.04:LTS | swish-e | 0 | No fix |
| Ubuntu:24.04:LTS | audacity | 0 | No fix |
| Ubuntu:24.04:LTS | cadaver | 0 | No fix |
| Ubuntu:24.04:LTS | libxmltok | 0 | No fix |
| Ubuntu:24.04:LTS | matanza | 0 | No fix |
| Ubuntu:24.04:LTS | swish-e | 0 | No fix |
| Ubuntu:24.10 | audacity | 0 | No fix |
| Ubuntu:24.10 | cadaver | 0 | No fix |
| Ubuntu:24.10 | libxmltok | 0 | No fix |
| Ubuntu:24.10 | matanza | 0 | No fix |
| Ubuntu:24.10 | sitecopy | 0 | No fix |
| Ubuntu:24.10 | swish-e | 0 | No fix |
| Ubuntu:25.04 | cadaver | 0 | No fix |
| Ubuntu:25.04 | libxmltok | 0 | 1.2-4.1ubuntu4 |
| Ubuntu:25.04 | matanza | 0 | No fix |
| Ubuntu:25.04 | paraview | 0 | No fix |
| Ubuntu:25.04 | sitecopy | 0 | No fix |
| Ubuntu:25.04 | swish-e | 0 | No fix |
| Ubuntu:25.10 | cadaver | 0 | No fix |
| Ubuntu:25.10 | matanza | 0 | No fix |
| Ubuntu:25.10 | paraview | 0 | No fix |
| Ubuntu:25.10 | sitecopy | 0 | No fix |
| Ubuntu:25.10 | swish-e | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | coin3 | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | vnc4 | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | ayttm | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | cableswig | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | cadaver | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | coin3 | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | insighttoolkit | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | libxmltok | 0 | 1.2-3ubuntu0.16.04.1~esm2 |
| Ubuntu:Pro:16.04:LTS | matanza | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | swish-e | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | vnc4 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | cadaver | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | coin3 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | libxmltok | 0 | 1.2-4ubuntu0.18.04.1~esm1 |
| Ubuntu:Pro:18.04:LTS | libxmltok | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | libxmltok | 0 | 1.2-4ubuntu0.18.04.1~esm5 |
| Ubuntu:Pro:18.04:LTS | matanza | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | swish-e | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | vnc4 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | cadaver | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | libxmltok | 0 | 1.2-4ubuntu0.20.04.1~esm1 |
| Ubuntu:Pro:20.04:LTS | libxmltok | 0 | 1.2-4ubuntu0.20.04.1~esm5 |
| Ubuntu:Pro:20.04:LTS | matanza | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | swish-e | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | libxmltok | 0 | 1.2-4ubuntu0.22.04.1~esm1 |
| Ubuntu:Pro:22.04:LTS | libxmltok | 0 | 1.2-4ubuntu0.22.04.1~esm5 |
| Ubuntu:Pro:24.04:LTS | libxmltok | 0 | 1.2-4.1ubuntu2.24.0.4.1+esm3 |
| openSUSE:Tumbleweed | expat | 0 | 2.2.0-3.1 |
Related vulnerabilities
- CVE-2009-3560 The big2_toUtf8 function in lib/xmltok.c in libexpat in Expat 2.0.1, as used in the… Also affects xmlrpc-c
- CVE-2009-3720 The updatePosition function in lib/xmltok_impl.c in libexpat in Expat 2.0.1, as used in… Also affects xmlrpc-c
- CVE-2024-50602 An issue was discovered in libexpat before 2.6.4. Also affects expat
- CVE-2024-45491 An issue was discovered in libexpat before 2.6.3. Also affects expat
- CVE-2024-45492 An issue was discovered in libexpat before 2.6.3. Also affects expat
- CVE-2024-45490 An issue was discovered in libexpat before 2.6.3. Also affects expat
- CVE-2024-28757 libexpat through 2.6.1 allows an XML Entity Expansion attack when there is isolated use… Also affects expat
- CVE-2017-9233 XML External Entity vulnerability in libexpat 2.2.0 and earlier (Expat XML Parser… Also affects expat