CVE-2026-57432
概要

Perl versions through 5.43.10 have an integer overflow in S_measure_struct leading to an out-of-bounds heap read in pack and unpack.

S_measure_struct adds each item's size times its repeat count to a running total with no overflow check, so a large repeat count in a pack or unpack template wraps the signed SSize_t total negative. The @, X, and x position codes then guard their moves with a signed length comparison that passes when the length is negative, advancing the buffer pointer out of bounds.

A template derived from untrusted input can read heap memory past the buffer and return it to the caller.

公表日 2026年7月14日2:17
登録日 2026年7月14日4:18
最終更新日 2026年7月15日3:04
CVSS3.1 : HIGH
スコア 8.4
ベクター CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
攻撃元区分(AV) ローカル
攻撃条件の複雑さ(AC)
攻撃に必要な特権レベル(PR) 不要
利用者の関与(UI) 不要
影響の想定範囲(S) 変更なし
機密性への影響(C)
完全性への影響(I)
可用性への影響(A)
影響を受けるソフトウェアの構成
構成1 以上 以下 より上 未満
cpe:2.3:a:perl:perl:*:*:*:*:*:*:*:* 5.43.10
関連情報、対策とツール
共通脆弱性一覧

JVN脆弱性情報
The Perl FoundationのPerlにおける複数の脆弱性
タイトル The Perl FoundationのPerlにおける複数の脆弱性
概要

Perlバージョン5.43.10以前には、S_measure_structに整数オーバーフローが存在し、packおよびunpackにおいてヒープ外読み取りが発生しています。S_measure_structは各アイテムのサイズにその繰り返し回数を掛けた値を総合計に加算しますが、オーバーフロー検査が行われていません。そのため、packまたはunpackのテンプレート内で大きな繰り返し回数がある場合、符号付きのSSize_t型の合計値が負の値に巻き戻ってしまいます。これにより、「@」、「X」、および「x」の位置コードは符号付き長さの比較で制御されていますが、この比較が長さが負のときに通過してしまい、バッファポインタが範囲外へ進んでしまいます。信頼されていない入力から生成されたテンプレートを使用すると、バッファの先のヒープメモリを読み取り、それを呼び出し元に返してしまう可能性があります。

想定される影響 ・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 ・当該ソフトウェアが完全に停止する可能性があります。 
対策

ベンダ情報を参照して適切な対策を実施してください。

公表日 2026年7月13日0:00
登録日 2026年7月16日12:37
最終更新日 2026年7月16日12:37
影響を受けるシステム
The Perl Foundation
Perl 5.43.10 およびそれ以前
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
その他
変更履歴
No 変更内容 変更日
1 [2026年07月16日]
  掲載
2026年7月16日12:37