Description
HTML::Entities versions before 3.84 for Perl read freed heap memory in _decode_entities.
The XS routine backing HTML::Entities::_decode_entities cached a pointer (repl) into the entity-value SV returned by hv_fetch 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 grow_gap() 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.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:NWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| OALDERS | HTML::Entities | < 3.84 |
References
- https://github.com/libwww-perl/HTML-Parser/commit/6922552b0778c90a9587a3894e248be4d3a25e1c.patchPatch
- https://github.com/libwww-perl/HTML-Parser/pull/56Issue Tracking, Patch
- http://www.openwall.com/lists/oss-security/2026/06/04/2Mailing List, Third Party Advisory
- https://lists.debian.org/debian-lts-announce/2026/06/msg00044.html
Timeline
- Published
- Jun 4, 2026
- Last modified
- Jul 22, 2026
- NVD status
- Modified