脆弱性対応ウォッチ重大・クリティカル脆弱性のクラウド別対応まとめ
最新更新履歴CriticalHigh回避策のみパッチありAWSGCPAzureLinux
Critical CVSS 9.1
CVE-2026-13221

Perl の正規表現が黙って誤った一致を返す整数オーバーフロー(CVSS 9.1)

情報取得日: 2026/07/13/最終確認: 2026/08/01・本ページは公開情報の非公式まとめです

CVE IDCVE-2026-13221
製品Perl / Perl 5.43.9 以前
CVSS9.1(Critical)
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
種別 (CWE)CWE-190(整数オーバーフローまたはラップアラウンド)
登録/公開日2026/07/13
出典https://nvd.nist.gov/vuln/detail/CVE-2026-13221

概要

Perl の正規表現コンパイラに整数オーバーフローがある。`regcomp_study.c` の `Perl_study_chunk` が、選択(|)の分岐が非常に多いパターンを trie に変換する際、分岐数が 65,535 を超えると内部のカウンタがラップアラウンドする。 この欠陥のたちが悪いところは、クラッシュではなく**黙って誤った一致を返す**点にある。マッチするはずのない入力がマッチしたり(偽陽性)、マッチするはずの入力がマッチしなかったり(偽陰性)する。例外も警告も出ないため、アプリケーション側からは正常動作と区別できない。 NVD の CVSS 3.1 基本値は 9.1(AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H)である。機密性への影響は無し(C:N)だが、完全性と可用性が高い(I:H/A:H)という配分になっている。正規表現が入力検証やフィルタリングに使われている場合、その判定が信用できなくなるためである。 影響を受けるのは 5.43.9 までの Perl である。分岐が 65,535 を超える巨大な選択パターンは手書きでは書かないが、**辞書や設定ファイルからパターンを組み立てる**コードでは実際に到達しうる。禁止語リスト、URL の許可リスト、ログのパターンマッチなどが典型である。 NVD の公開日は 2026年7月13日、最終更新は 2026年7月14日。2026年8月2日時点で CISA KEV カタログには収載されていない。

クラウド/OS 別の対応状況

各ベンダー公式アドバイザリで確認できた事実に基づき整理しています。確認できていない項目は「情報確認中」と明記し、存在しないパッチ番号・バージョンは記載しません。

AWS / GCP / Azure / Linux いずれも対応区分は同じです: パッチあり(アプリ更新) 下の表は環境ごとの補足です。
環境対応状況対応方法・備考
AWS (ECS/EC2) パッチあり(アプリ更新)
EC2/ECS 等で使う Perl を、修正コミットを取り込んだパッケージへ更新する
AWS 固有の対応は無い。Amazon Linux のパッケージ更新状況を確認する。
参照リンク
GCP パッチあり(アプリ更新)
GCE/GKE 上の Perl を、修正コミットを取り込んだパッケージへ更新する
GCP 固有の対応は無い。ベースイメージのディストリ側の更新に従う。
参照リンク
Azure パッチあり(アプリ更新)
VM/App Service 上の Perl を、修正コミットを取り込んだパッケージへ更新する
Azure 固有の対応は無い。
参照リンク
Linux パッチあり(アプリ更新)
ディストリビューションの perl パッケージを更新する。修正コミット 03f74bb の取り込み状況をディストリのトラッカーで確認する
NVD には修正版の版番号が示されていないため、ディストリのセキュリティトラッカーで判断する。
参照リンク

解決の方向性(パッチ/回避策/代替)

まず、自分のコードが「実行時に組み立てた巨大な選択パターン」を使っているかを切り分ける。固定の正規表現しか使っていないなら、分岐が 65,535 を超えることはまずない。 該当しうるのは、リストから `join("|", @words)` のようにパターンを生成している箇所である。`@words` の要素数が数万規模になるコードを探す。要素数が入力や設定次第で増える設計なら、上限が保証されていない時点で対象と考えるべきである。 恒久対応は、修正コミットを取り込んだ Perl へ更新することである。NVD のエントリには修正版の版番号が示されておらず、参照されているのは GitHub の修正コミット(`03f74bbbd3a68350d926ee93d56ee4808c28c4c7`)と issue #23388、および oss-security への投稿である。したがって本記事では「修正版は X.Y.Z」と断定しない。**利用しているディストリビューションの Perl パッケージが、このコミットを取り込んだかどうかで判断する**のが実務的である。 更新前の緩和策としては、生成するパターンの分岐数に明示的な上限を設け、超える場合はパターンを分割して複数回マッチさせる方法がある。65,535 という境界が分かっているので、たとえば 10,000 分岐ごとに区切れば安全側に倒せる。 検知については、この欠陥は例外を出さないため、ログからの検知は期待できない。代わりに、既知の一致すべき/すべきでない入力を用意した回帰テストを、パターン生成箇所に対して置くのが確実である。

よくある質問(CVE-2026-13221)

CVE-2026-13221(Perl 5.43.9 以前)の影響は?

Critical(CVSS 9.1)に分類されるPerl Perl 5.43.9 以前の脆弱性です。Perl の正規表現コンパイラに整数オーバーフローがある。`regcomp_study.c` の `Perl_study_chunk` が、選択(|)の分岐が非常に多いパターンを trie に変換する際、分岐数が 65,535 を超えると内部のカウンタがラップアラウンドする。 この欠陥のたちが悪いところは、クラッシュではなく**黙って誤った一致を返す**点にある。マッチするはずのない入力がマッチしたり(偽陽性)、マッチするはずの入力がマッチしなかったり(偽陰性)する。例外も警告も出ないため、アプリケーション側からは正常動作と区別できない。 NVD の CVSS 3.1 基本値は 9.1(AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H)である。機密性への影響は無し(C:N)だが、完全性と可用性が高い(I:H/A:H)という配分になっている。正規表現が入力検証やフィルタリングに使われている場合、その判定が信用できなくなるためである。 影響を受けるのは 5.43.9 までの Perl である。分岐が 65,535 を超える巨大な選択パターンは手書きでは書かないが、**辞書や設定ファイルからパターンを組み立てる**コードでは実際に到達しうる。禁止語リスト、URL の許可リスト、ログのパターンマッチなどが典型である。 NVD の公開日は 2026年7月13日、最終更新は 2026年7月14日。2026年8月2日時点で CISA KEV カタログには収載されていない。

CVE-2026-13221 の対応方法・回避策は?

まず、自分のコードが「実行時に組み立てた巨大な選択パターン」を使っているかを切り分ける。固定の正規表現しか使っていないなら、分岐が 65,535 を超えることはまずない。 該当しうるのは、リストから `join("|", @words)` のようにパターンを生成している箇所である。`@words` の要素数が数万規模になるコードを探す。要素数が入力や設定次第で増える設計なら、上限が保証されていない時点で対象と考えるべきである。 恒久対応は、修正コミットを取り込んだ Perl へ更新することである。NVD のエントリには修正版の版番号が示されておらず、参照されているのは GitHub の修正コミット(`03f74bbbd3a68350d926ee93d56ee4808c28c4c7`)と issue #23388、および oss-security への投稿である。したがって本記事では「修正版は X.Y.Z」と断定しない。**利用しているディストリビューションの Perl パッケージが、このコミットを取り込んだかどうかで判断する**のが実務的である。 更新前の緩和策としては、生成するパターンの分岐数に明示的な上限を設け、超える場合はパターンを分割して複数回マッチさせる方法がある。65,535 という境界が分かっているので、たとえば 10,000 分岐ごとに区切れば安全側に倒せる。 検知については、この欠陥は例外を出さないため、ログからの検知は期待できない。代わりに、既知の一致すべき/すべきでない入力を用意した回帰テストを、パターン生成箇所に対して置くのが確実である。

自分の環境が CVE-2026-13221 の影響を受けるか確認するには?

Perl Perl 5.43.9 以前 を利用している場合、稼働バージョンが影響範囲に含まれるかを一次情報(https://nvd.nist.gov/vuln/detail/CVE-2026-13221)で確認してください。AWS・GCP・Azure・Linux それぞれの対応状況は本ページの「クラウド/OS 別の対応状況」表にまとめています。確認できていない項目は「情報確認中」と明記しており、存在しないパッチ番号・バージョンは記載していません。

参考情報(出典)

本ページの記載は下記の一次情報に基づく非公式まとめです。数値・対応状況は各出典元で最終確認してください(最終確認: 2026/08/01)。

免責: 本ページは CISA KEV・NVD・各ベンダー公式アドバイザリ等の公開情報をもとにした非公式まとめです。修正バージョンや対応可否は変更される場合があります。実際の対応は必ず 出典元および各ベンダー公式情報・自環境で確認してください。

« 一覧に戻る