---
title: "Perl の CGI モジュール 5.00 より前の CVE-2026-120631〜120651（20 件）: 細工したリクエストでの停止・オープンリダイレクト・ヘッダー注入・XSS・アップロード名のパス混入など。5.00 で修正"
url: https://n-t-p.io/worldsecurity/articles/perl-cgi-pm-cve-2026-120631-to-120651-20-flaws-fixed-in-5-00-dos-open-redirect-header-injection-xss-path-traversal
lang: ja
kind: 速報
category: 脆弱性・CVE
author: World Security 編集部
published: 2026年11月7日
updated: 2026年11月7日
severity: 中
cve: 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 の CGI モジュール 5.00 より前の CVE-2026-120631〜120651（20 件）: 細工したリクエストでの停止・オープンリダイレクト・ヘッダー注入・XSS・アップロード名のパス混入など。5.00 で修正

> **TL;DR:** Perl の CGI モジュール 5.00 より前に 20 件の CVE（CVE-2026-120631〜120651、120649 は欠番）。細工したリクエストでの停止（6 件）、オープンリダイレクト・ヘッダー注入・XSS などの出力への注入（8 件）、アップロード名のパス混入などがある。多くはアプリが請求データを該当の関数に渡す場合に限られる。NVD に点数はなく、severity は暫定 medium。5.00 で修正。悪用・修正コミットの中身は未確認。

**要点**
- CGI.pm 5.00 より前に 20 件。Cookie・Content-Type・アップロード・サイズ制限の受信処理の欠陥による停止系が 6 件、出力に請求データが混ざる注入系が 8 件、ほか 6 件。
- 120632 は本体なしのヘッダーだけで CPU を使い切れ、120651 は短い本体で無限ループになると記載。注入系・パス混入は、アプリが請求データを渡す書き方のときに限られる。
- NVD に CVSS の点数はまだなく（Deferred）、severity は暫定 medium。EPSS は最大 0.39%、KEV 掲載なし。
- 対策は CGI 5.00 以降への更新。当面は POST_MAX・プロキシでのサイズ制限、リダイレクト先の許可リスト、アップロード名の basename 化。
- 悪用の有無・修正コミットの中身・5.00 の公開日・各ディストリビューションの対応は未確認。

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 の公開日は未確認です。


## 出典
- [NVD CVE-2026-120631](https://nvd.nist.gov/vuln/detail/CVE-2026-120631) — NIST NVD
- [NVD CVE-2026-120632](https://nvd.nist.gov/vuln/detail/CVE-2026-120632) — NIST NVD
- [NVD CVE-2026-120633](https://nvd.nist.gov/vuln/detail/CVE-2026-120633) — NIST NVD
- [NVD CVE-2026-120634](https://nvd.nist.gov/vuln/detail/CVE-2026-120634) — NIST NVD
- [NVD CVE-2026-120635](https://nvd.nist.gov/vuln/detail/CVE-2026-120635) — NIST NVD
- [NVD CVE-2026-120636](https://nvd.nist.gov/vuln/detail/CVE-2026-120636) — NIST NVD
- [NVD CVE-2026-120637](https://nvd.nist.gov/vuln/detail/CVE-2026-120637) — NIST NVD
- [NVD CVE-2026-120638](https://nvd.nist.gov/vuln/detail/CVE-2026-120638) — NIST NVD
- [NVD CVE-2026-120639](https://nvd.nist.gov/vuln/detail/CVE-2026-120639) — NIST NVD
- [NVD CVE-2026-120640](https://nvd.nist.gov/vuln/detail/CVE-2026-120640) — NIST NVD
- [NVD CVE-2026-120641](https://nvd.nist.gov/vuln/detail/CVE-2026-120641) — NIST NVD
- [NVD CVE-2026-120642](https://nvd.nist.gov/vuln/detail/CVE-2026-120642) — NIST NVD
- [NVD CVE-2026-120643](https://nvd.nist.gov/vuln/detail/CVE-2026-120643) — NIST NVD
- [NVD CVE-2026-120644](https://nvd.nist.gov/vuln/detail/CVE-2026-120644) — NIST NVD
- [NVD CVE-2026-120645](https://nvd.nist.gov/vuln/detail/CVE-2026-120645) — NIST NVD
- [NVD CVE-2026-120646](https://nvd.nist.gov/vuln/detail/CVE-2026-120646) — NIST NVD
- [NVD CVE-2026-120647](https://nvd.nist.gov/vuln/detail/CVE-2026-120647) — NIST NVD
- [NVD CVE-2026-120648](https://nvd.nist.gov/vuln/detail/CVE-2026-120648) — NIST NVD
- [NVD CVE-2026-120650](https://nvd.nist.gov/vuln/detail/CVE-2026-120650) — NIST NVD
- [NVD CVE-2026-120651](https://nvd.nist.gov/vuln/detail/CVE-2026-120651) — NIST NVD
- [CGI 5.00 の変更点（MetaCPAN）](https://metacpan.org/release/LEEJO/CGI-5.00/changes) — MetaCPAN（未精読）
- [FIRST EPSS API（2026-11-06 時点、20 件とも 0.39% 以下）](https://api.first.org/data/v1/epss?cve=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) — FIRST
- [CISA Known Exploited Vulnerabilities（2026-11-06 に検索、掲載なし）](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) — CISA

---
出典: World Security（株式会社NTP） https://n-t-p.io/worldsecurity/articles/perl-cgi-pm-cve-2026-120631-to-120651-20-flaws-fixed-in-5-00-dos-open-redirect-header-injection-xss-path-traversal