| Title | OALDERS (Olaf Alders)のHTML::Entitiesにおける解放済みメモリの使用に関する脆弱性 |
|---|---|
| Summary | PerlのHTML::Entitiesバージョン3.84以前では、_decode_entities関数で解放済みのヒープメモリが読み取られていました。HTML::Entities::_decode_entitiesを支えるXSルーチンは、entity2charハッシュのhv_fetchから返されたエンティティ値SV内のポインタ(repl)をキャッシュしていました。入力SVがそのハッシュ内の値SVと同一であり、かつその値に自身のキーがエンティティ参照として含まれている場合、後のgrow_gap()呼び出しによってSVのPVバッファが再割り当てされ、その結果replが指していた割り当ては解放されました。その後のコピー処理では、解放済みメモリからrepl_lenバイトを読み取ります。この読み取りによって隣接するヒープの内容が宛先SVに漏洩する可能性があります。 |
| Possible impacts | ・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う情報について、書き換えは発生しません。 ・当該ソフトウェアは停止しません。 |
| Solution | ベンダ情報を参照して適切な対策を実施してください。 |
| Publication Date | June 4, 2026, midnight |
| Registration Date | June 9, 2026, 2:10 p.m. |
| Last Update | June 9, 2026, 2:10 p.m. |
| CVSS3.0 : 重要 | |
| Score | 7.5 |
|---|---|
| Vector | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| OALDERS (Olaf Alders) |
| HTML::Entities 3.84 未満 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年06月09日] 掲載 |
June 9, 2026, 2:10 p.m. |
| Summary | 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. |
|---|---|
| Publication Date | June 4, 2026, 12:16 p.m. |
| Registration Date | June 5, 2026, 4:10 a.m. |
| Last Update | June 9, 2026, 1:29 a.m. |
| Configuration1 | or higher | or less | more than | less than | |
| cpe:2.3:a:oalders:html\:\:entities:*:*:*:*:*:perl:*:* | 3.84 | ||||