概要
Perl 5.43.10 以前(32ビットビルド限定)において、正規表現のコンパイル時にヒープバッファオーバーフローを引き起こす脆弱性(CVSS 9.8)が発見されました。
regcomp_study.c 内の Perl_study_chunk() 関数が、結合された部分文字列バッファのサイズをバイト数ではなく文字数で比較する実装ミスにより、量指定付きの固定文字列で最小繰り返し数が大きい場合に mincount * l(バイト長の計算)が SSize_t でオーバーフローします。これにより確保バッファが不足し、SvGROW アロケーションの後にバッファ範囲外への書き込みが発生します。
攻撃者が制御する正規表現を32ビットPerlでコンパイルさせることができる場合(Webアプリケーションのパターンマッチング等)に悪用できます。
CVSSベクトル
| 指標 | 値 |
|---|---|
| Attack Vector | Network |
| Attack Complexity | Low |
| Privileges Required | None |
| User Interaction | None |
| Scope | Unchanged |
| Confidentiality Impact | High |
| Integrity Impact | High |
| Availability Impact | High |
| CVSSスコア | 9.8 (Critical) |
影響を受けるソフトウェア
| 製品 | バージョン | 制約 |
|---|---|---|
| Perl | 5.43.10 以前 | 32ビットビルドのみ |
64ビットビルドのPerlは影響を受けません。
修正バージョンと回避策
- 対策: OSディストリビューションが提供するパッチ済みPerlパッケージへ更新する
- 回避策: 攻撃者制御の入力を正規表現として直接コンパイルしない設計への変更
- 64ビット環境ではこの脆弱性は発生しません
関連リンク
データソース: NVD (NIST) AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
