HTML::Entities versions before 3.84 for Perl read freed heap memory in decodeentities.
The XS routine backing HTML::Entities::decodeentities cached a pointer (repl) into the entity-value SV returned by hvfetch on the entity2char hash. When the input SV was identical to a value SV in that hash, and that value contained its own key as an entity reference, a later call to growgap() reallocated the SV's PV buffer and freed the backing allocation that repl still pointed into. The subsequent copy loop read repl_len bytes from the freed allocation.
The read may disclose adjacent heap contents into the destination SV.
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/8xxx/CVE-2026-8829.json",
"cwe_ids": [
"CWE-416"
],
"cna_assigner": "CPANSec"
}{
"cpe": "cpe:2.3:a:oalders:html\\:\\:entities:*:*:*:*:*:perl:*:*",
"source": [
"CPE_RANGE",
"REFERENCES"
],
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "3.84"
}
]
}"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-8829.json"
[
{
"target": {
"file": "util.c"
},
"source": "https://github.com/libwww-perl/html-parser/commit/6922552b0778c90a9587a3894e248be4d3a25e1c",
"digest": {
"line_hashes": [
"29524226695568867393611713302732256007",
"88925536424335811418513984117503737771",
"125351173588064010782487249454781502536",
"244693494973170438017600447690742251171",
"177566466278410444417561684390376957074",
"161068445147121806963874015074544648543",
"55192585854307345962842473963564967862",
"235073147029104328918831853661015462231",
"45855650820848338149040975573924227466",
"224125197776965977316250693747002817775",
"162567067660630509810466194269228684738",
"258479322125686328984193696014827764263",
"308011330346174385747097628131380601554",
"46442983270035478777643436301391618654",
"18921908710528266953421495109603178278",
"229891308261985322485472263359863391893",
"280375879308588453047160834160354569603",
"134429069728731958751856250472328785201",
"300278630825011606591107183136696983218",
"88967852916892989479353512631507549383",
"115856390516382032478180913911082783685",
"33000665795576920914913238638696949613",
"234150239203820662679117585177268903128",
"19832847907142007802878252255421180173",
"187583489482414199909937053426466094382"
],
"threshold": 0.9
},
"id": "CVE-2026-8829-25837f81",
"signature_version": "v1",
"deprecated": false,
"signature_type": "Line"
},
{
"target": {
"file": "util.c",
"function": "decode_entities"
},
"source": "https://github.com/libwww-perl/html-parser/commit/6922552b0778c90a9587a3894e248be4d3a25e1c",
"digest": {
"function_hash": "89558245732209872575410423504328203275",
"length": 3138.0
},
"id": "CVE-2026-8829-8366e2d3",
"deprecated": false,
"signature_type": "Function",
"signature_version": "v1"
}
]
"2026-06-19T03:19:16Z"