| Title | The Perl FoundationのPerlにおける整数オーバーフローの発生によるバッファオーバーフローの脆弱性 |
|---|---|
| Summary | Perlのバージョン5.43.10以前の32ビットビルドには、繰り返し固定文字列を含む正規表現をコンパイルする際にヒープバッファオーバーフローが発生する脆弱性があります。regcomp_study.cのPerl_study_chunk関数は、結合された部分文字列バッファのサイズをバイトではなく文字数でチェックしていました。最小カウントが大きい定量化された固定部分文字列の場合、バイト長である mincount * l がSSize_tをオーバーフローし、過小なSvGROW割り当てを引き起こします。その結果、コピー操作がバッファの末尾を超えて書き込みを行います。攻撃者が制御する正規表現を32ビットPerlビルドでコンパイルすると、コンパイル時にヒープバッファオーバーフローが発生します。 |
| Possible impacts | ・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 ・当該ソフトウェアが完全に停止する可能性があります。 |
| Solution | ベンダ情報を参照して適切な対策を実施してください。 |
| Publication Date | May 26, 2026, midnight |
| Registration Date | May 29, 2026, 11:15 a.m. |
| Last Update | May 29, 2026, 11:15 a.m. |
| CVSS3.0 : 緊急 | |
| Score | 9.8 |
|---|---|
| Vector | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| The Perl Foundation |
| Perl 5.43.10 およびそれ以前 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年05月29日] 掲載 |
May 29, 2026, 11:15 a.m. |
| Summary | Perl versions through 5.43.10 have a heap buffer overflow when compiling regular expressions with a repeated fixed string on 32-bit builds. Perl_study_chunk in regcomp_study.c checked the size of the joined substring buffer in characters rather than bytes. For a quantified fixed substring with a large minimum count, the byte length mincount * l could overflow SSize_t, producing an undersized SvGROW allocation; the subsequent copy writes past the end of the buffer. A caller that compiles an attacker-controlled regular expression on a 32-bit perl build triggers a heap buffer overflow at compile time. |
|---|---|
| Publication Date | May 26, 2026, 9:16 a.m. |
| Registration Date | May 27, 2026, 4:08 a.m. |
| Last Update | May 28, 2026, 3:43 a.m. |
| Configuration1 | or higher | or less | more than | less than | |
| cpe:2.3:a:perl:perl:*:*:*:*:*:*:*:* | 5.43.10 | ||||