CVE-2006-10002

XML::Parser versions through 2.45 for Perl could overflow the pre-allocated buffer size cause a heap corruption (double free or corruption) and crashes

Published Mar 19, 2026 CVSS 3.1 · 9.8 Critical EPSS < 1% KEV · Not listed
Description
XML::Parser versions through 2.45 for Perl could overflow the pre-allocated buffer size cause a heap corruption (double free or corruption) and crashes.

A :utf8 PerlIO layer, parse_stream() in Expat.xs could overflow the XML input buffer because Perl's read() returns decoded characters while SvPV() gives back multi-byte UTF-8 bytes that can exceed the pre-allocated buffer size. This can cause heap corruption (double free or corruption) and crashes.

Remediation

Vendor Solution

Apply the patch that has been publicly available since 2006-06-13 or upgrade to version 2.46 or later.


Vendor Workaround

Apply the patch that has been publicly available since 2006-06-13.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Debian DLA Debian DLA DLA-4522-1 libxml-parser-perl security update
Ubuntu USN Ubuntu USN USN-8174-1 XML::Parser vulnerabilities
History
Type Values Removed Values Added
Description XML::Parser versions through 2.47 for Perl could overflow the pre-allocated buffer size cause a heap corruption (double free or corruption) and crashes. A :utf8 PerlIO layer, parse_stream() in Expat.xs could overflow the XML input buffer because Perl's read() returns decoded characters while SvPV() gives back multi-byte UTF-8 bytes that can exceed the pre-allocated buffer size. This can cause heap corruption (double free or corruption) and crashes. XML::Parser versions through 2.45 for Perl could overflow the pre-allocated buffer size cause a heap corruption (double free or corruption) and crashes. A :utf8 PerlIO layer, parse_stream() in Expat.xs could overflow the XML input buffer because Perl's read() returns decoded characters while SvPV() gives back multi-byte UTF-8 bytes that can exceed the pre-allocated buffer size. This can cause heap corruption (double free or corruption) and crashes.
Title XML::Parser versions through 2.47 for Perl could overflow the pre-allocated buffer size cause a heap corruption (double free or corruption) and crashes XML::Parser versions through 2.45 for Perl could overflow the pre-allocated buffer size cause a heap corruption (double free or corruption) and crashes
References
Type Values Removed Values Added
First Time appeared Toddr xml::parser
Vendors & Products Toddr xml::parser
Type Values Removed Values Added
First Time appeared Toddr
Toddr xml\
CPEs cpe:2.3:a:toddr:xml\:\:parser:*:*:*:*:*:perl:*:*
Vendors & Products Toddr
Toddr xml\
Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description XML::Parser versions through 2.47 for Perl could overflow the pre-allocated buffer size cause a heap corruption (double free or corruption) and crashes. A :utf8 PerlIO layer, parse_stream() in Expat.xs could overflow the XML input buffer because Perl's read() returns decoded characters while SvPV() gives back multi-byte UTF-8 bytes that can exceed the pre-allocated buffer size. This can cause heap corruption (double free or corruption) and crashes.
Title XML::Parser versions through 2.47 for Perl could overflow the pre-allocated buffer size cause a heap corruption (double free or corruption) and crashes
Weaknesses CWE-122
CWE-176
References
Weaknesses

Sources

Status
PUBLISHED
Assigner
CPANSec
Published
Updated
Apr 29, 2026, 2:36 PM
Reserved
Mar 16, 2026, 10:47 PM
Status
Modified
Published
Mar 19, 2026, 12:16 PM
Modified
Jun 16, 2026, 10:21 PM
Severity
Moderate
Public date
Mar 19, 2026, 11:03 AM