WORK.SIGNALALL SIGNALS
/ 仕事 / DEEP DIVE

SymfonyにHIGH脆弱性3件、HTTPヘッダー・YAML・式パーサーでDoSの恐れ

91 / 100SIGNAL DEEP DIVE仕事約3分で読める

Symfonyの公式セキュリティ勧告で、HTTPヘッダー解析、YAMLのインライン構造解析、式言語の構文解析にそれぞれサービス停止につながるHIGH脆弱性が確認された。影響条件は異なるが、外部入力を処理するWebサービスでは利用コンポーネントと修正版を照合する必要がある。

30秒でわかる / THE SIGNAL

Symfonyの公式セキュリティ勧告で、HTTPヘッダー解析、YAMLのインライン構造解析、式言語の構文解析にそれぞれサービス停止につながるHIGH脆弱性が確認された。影響条件は異なるが、外部入力を処理するWebサービスでは利用コンポーネントと修正版を照合する必要がある。

HTTPのCache-ControlヘッダーでCPUを消費:CVE-2026-108082

Symfony HTTP Foundationの`HeaderUtils::split()`で正規表現の過剰なバックトラッキングが起きる。HTTP Request生成時の`Cache-Control`処理から到達可能で、認証なしのリクエストでも影響する。公式勧告はPHP 8.5環境で8KBヘッダーに17個の空白を含むケースが813ミリ秒を要したと説明。影響は5.4.54未満、6.4.46未満、7.4.19未満、8.1.7未満の対象系列。修正初版では空白を区切り文字にする処理に回帰があり、6.4.48、7.4.21、8.1.9で後続修正された。

一次情報:https://symfony.com/blog/cve-2026-108082-redos-in-headerutils-split-reachable-through-the-cache-control-request-header

YAMLの深いネストでプロセス停止:CVE-2026-109413

Symfony YAMLのインライン字句解析器がネスト上限を適用せず再帰し、深い配列・マッピング構造でスタックを枯渇させる。信頼できないYAMLを解析するアプリが影響し、`#[MapRequestPayload]`がYAML入力を受け付ける構成では未認証のHTTPリクエストで到達し得る。影響は5.4.54未満、6.4.45未満、7.4.18未満、8.1.6未満の対象系列。修正は5.4.54/6.4.45/7.4.18/8.1.6。

一次情報:https://symfony.com/blog/cve-2026-109413-unbounded-recursion-in-the-yaml-inline-lexer-lets-a-single-document-crash-the-process

式言語の深い構文木でプロセス停止:CVE-2026-109449

Symfony ExpressionLanguageで深くネストした式を解析すると、構文木の深さに上限がなくPHPプロセスが異常終了する恐れがある。`#[Assert\ExpressionSyntax]`を介してユーザー入力の式を検証するアプリも対象となる。影響は5.4.54未満、6.4.48未満、7.4.21未満、8.1.9未満の対象系列。初回修正が二項演算子などの一部の深さを見逃したため、公式は6.4.48/7.4.21/8.1.9での追加修正を説明している。

一次情報:https://symfony.com/blog/cve-2026-109449-unbounded-nesting-in-the-expression-parser-lets-untrusted-expressions-crash-the-process

対応と悪用状況

使用している`symfony/http-foundation`、`symfony/yaml`、`symfony/expression-language`の導入状況とバージョンを点検し、各系列の後続修正版に更新する。外部からのYAMLや式入力を受け付けるか、HTTPヘッダー処理を通るかを確認する。公式勧告に実環境での悪用確認の記載はなく、悪用状況は未確認。発表は10月15日であり、10月28日に新規発見されたものではない。

TRANSMISSION / AFTER THE SIGNAL

読んだ、その先へ。

気になった変化を共有して、次のシグナルへ。

SHARE THIS SIGNAL

BACK TO THE INDEX / FIND THE NEXT SIGNALALL SIGNALS