目次(4)

CVE-2026-120631
CVE-2026-120632
CVE-2026-120633
CVE-2026-120634
CVE-2026-120635
CVE-2026-120636
CVE-2026-120637
CVE-2026-120638
CVE-2026-120639
CVE-2026-120640
CVE-2026-120641
CVE-2026-120642
CVE-2026-120643
CVE-2026-120644
CVE-2026-120645
CVE-2026-120646
CVE-2026-120647
CVE-2026-120648
CVE-2026-120650
CVE-2026-120651
Perl の定番 Web 部品 CGI モジュール(CGI.pm) に、20 件の CVE が 2026-11-04 に NVD へ登録されました。登録元は CPAN Security Group(9b29abf9…)で、NVD の状態は Deferred(後回し)、CVSS の点数はまだ付いていません。修正は CGI 5.00 に入っており、NVD の記述は「5.00 より前」を影響範囲としています(一部は 4.62・4.67・4.71 以降)。
何が起きるか
20 件の多くは、アプリが請求データ(URL・Cookie・ファイル名・ヘッダー値)を CGI.pm の関数に渡したときに、想定外の結果になるものです。種類は大きく 3 つです。
- サービス停止(6 件): 細工した Cookie・Content-Type・アップロード指定などで、リクエストが異常終了する、CPU を使い切る、無限ループになる。120632 は本体なしのヘッダーだけで起こせると記載されています。
- 出力への注入(8 件): オープンリダイレクト、HTTP ヘッダー注入、Cookie 属性の注入、XSS、HTML 注入など。多くは「アプリが請求データを該当の関数に渡している」場合に限られます。
- その他(6 件): アップロード名のパス混入、プロキシ・WAF をすり抜けるフォーム項目、本体用の名前のなりすまし、taint 検査の抜け、他の利用者への警告の混入。
20 件の一覧
| CVE | 場所 | 内容 | 種類 |
|---|---|---|---|
| CVE-2026-120631 | CGI::Cookie(4.67〜5.00 未満) | Cookie の expires を正規表現にそのまま埋め込む。細工した Cookie でリクエストが異常終了、または処理が止まるほど遅くなる | サービス停止 |
| CVE-2026-120632 | CGI(XForms の multipart/related) | Content-Type の正規表現が最悪ケースで立方時間かかる。本体なしのヘッダーだけで CPU を使い切れる | サービス停止 |
| CVE-2026-120633 | url / self_url など | X-Forwarded-Host を検証せず使う。共有キャッシュや保存・送信される URL を攻撃者のホストに向けられる | URL・キャッシュの汚染 |
| CVE-2026-120634 | CGI::Carp の warningsToBrowser | 警告のバッファが次のリクエストまで消えず、mod_perl・FastCGI・PSGI で他の利用者のデータを含む警告が混ざる | 情報の混入 |
| CVE-2026-120635 | multipart/form-data の解析 | RFC と違う解釈(境界の位置・User-Agent 次第の扱い・引用符内の name など)で、プロキシや WAF をすり抜けるフォーム項目を送れる | リクエスト・スマグリング |
| CVE-2026-120636 | url / start_form | REQUEST_URI をそのまま使い、//evil.example や javascript: 形式の URL ができる | オープンリダイレクト・スクリプト注入 |
| CVE-2026-120637 | REQUEST_METHOD が未知の場合 | OPTIONS などでオフライン用デバッグモード(既定で有効)に落ち、プロセスのコマンドライン引数から値を作る | 意図しない入力経路 |
| CVE-2026-120638 | redirect | Location に書く前に HTML エンティティを戻す。検証済みの URL が別ホストを指すものに変わる | オープンリダイレクト |
| CVE-2026-120639 | header / multipart_start / do_push | 改行チェックの後でエンティティを戻すため、CR・LF が通る。応答にヘッダーを足せる(アプリが請求データを渡す場合) | HTTP ヘッダー注入 |
| CVE-2026-120640 | POSTDATA / PUTDATA / PATCHDATA / XForms:Model | 本体用の名前をクエリや通常の項目からも設定できる。クロスサイトのフォームから JSON 風の値を送る偽造が可能 | リクエスト偽造 |
| CVE-2026-120641 | アップロード名 | クライアントが送ったパス(../・Windows パス含む)がそのまま返る。そのまま保存するアプリはディレクトリ外へ書ける | パストラバーサル |
| CVE-2026-120642 | taint モード | アップロード名・一部の path_info・Accept の結果などの taint が外れ、-T の検査をすり抜ける | taint 検査の抜け |
| CVE-2026-120643 | url / self_url(4.62〜5.00 未満) | URL に含まれるアポストロフィがそのまま残る。一重引用符の属性や JavaScript 文字列に置くアプリで XSS | XSS |
| CVE-2026-120644 | CGI::Cookie | path・domain・expires にセミコロンや制御文字が通り、Domain や SameSite など別の属性を足される | Cookie 属性の注入 |
| CVE-2026-120645 | scrolling_list | リクエスト値を正規表現に埋め込んで選択状態を決める。細工値で異常終了や遅延 | サービス停止 |
| CVE-2026-120646 | uploadInfo(4.71〜5.00 未満) | ?upload=0 のような文字列を参照として扱い、例外で落ちる | サービス停止 |
| CVE-2026-120647 | header(-attachment) | ファイル名の二重引用符を無害化せず、2 つ目の filename を差し込める | Content-Disposition の注入 |
| CVE-2026-120648 | comment | --> を含む文字列でコメントが途中で閉じ、HTML を差し込める | HTML 注入 |
| CVE-2026-120650 | サイズ制限 | POST_MAX が既定で無制限。チャンク形式などでは制限が効かず、メモリ・CPU・ディスクを使い切れる | サービス停止 |
| CVE-2026-120651 | DISABLE_UPLOADS 設定時 | Content-Length より短い本体を受けると読み取りが終わらず無限ループ。1 リクエストでプロセスが占有される | サービス停止 |
使っている人は
- CGI.pm を使う Perl アプリ(古い CGI スクリプト、mod_perl、FastCGI、PSGI の下でも)が対象です。Perl 本体に同梱される版の更新は、OS・ディストリビューションごとに遅れる場合があります。
- 影響はアプリの書き方次第です。例えば
redirectやheaderに外部入力を渡していなければ、注入系は起きません。一方で 120631・120632・120650・120651 のような受信処理そのものの欠陥は、アプリ側の工夫では防ぎにくい形です。 - 対策は CGI 5.00 以降への更新です。すぐ更新できない場合は、POST_MAX の設定、リバースプロキシでのヘッダー・本文サイズの制限、アップロード名を自前で basename 化する、リダイレクト先を許可リストで確認する、が当面の緩和になります。
まだ分かっていないこと
- 点数(CVSS)は NVD にまだありません。severity は暫定で medium としています(受信処理の停止系は認証不要だが影響は可用性のみ、注入系はアプリ依存のため)。
- 実際に悪用された報告は確認できていません。CISA KEV に掲載はなく、EPSS は 20 件とも最大 0.39%(取得時点)です。
- 修正コミット 20 本と CGI 5.00 の変更点の中身は読んでいません。NVD の記述のみにもとづきます。
- Perl 本体や各ディストリビューションの更新状況、5.00 の公開日は未確認です。
この記事について
- 執筆・編集
- World Security 編集部
- AI の利用
- 本記事は AI が NVD などの公開情報をもとに作成しました。数値は取得時点(2026-11-06)のもので、未確認の点は本文に明記しています。
出典
- NVD CVE-2026-120631(NIST NVD)
- NVD CVE-2026-120632(NIST NVD)
- NVD CVE-2026-120633(NIST NVD)
- NVD CVE-2026-120634(NIST NVD)
- NVD CVE-2026-120635(NIST NVD)
- NVD CVE-2026-120636(NIST NVD)
- NVD CVE-2026-120637(NIST NVD)
- NVD CVE-2026-120638(NIST NVD)
- NVD CVE-2026-120639(NIST NVD)
- NVD CVE-2026-120640(NIST NVD)
- NVD CVE-2026-120641(NIST NVD)
- NVD CVE-2026-120642(NIST NVD)
- NVD CVE-2026-120643(NIST NVD)
- NVD CVE-2026-120644(NIST NVD)
- NVD CVE-2026-120645(NIST NVD)
- NVD CVE-2026-120646(NIST NVD)
- NVD CVE-2026-120647(NIST NVD)
- NVD CVE-2026-120648(NIST NVD)
- NVD CVE-2026-120650(NIST NVD)
- NVD CVE-2026-120651(NIST NVD)
- CGI 5.00 の変更点(MetaCPAN)(MetaCPAN(未精読))
- FIRST EPSS API(2026-11-06 時点、20 件とも 0.39% 以下)(FIRST)
- CISA Known Exploited Vulnerabilities(2026-11-06 に検索、掲載なし)(CISA)



