GHSA-8v8v-g73j-492j / CVE-2026-45756
この脆弱性で確認すること
- 対象製品
- symfony/json-path / symfony/symfony
- WATRIXで確認できる範囲
- 利用製品・バージョン・設定を確認し、影響調査や対策の進め方をご相談いただけます。掲載だけで自動診断や復旧の対応を保証するものではありません。
- 情報の作成方法
- 収集した原典情報
情報整理:WATRIX合同会社。影響の確定や侵害の有無は、実際の版・設定・ログ等を確認して判断します。
- CVSS
- 2.7
- 公開元の公表日時
- 2026/05/29 2:34
- 公開元の更新日時
- 2026/05/29 2:34
- 当サイトの収集処理
- 2026/11/07 0:00
原典の説明
公開元の記載です。日本語での確認手順・対処の解説が付いていない項目も含まれます。
Symfony's JsonPath Evaluates Attacker-Controlled Regular Expressions in match()/search() Without Limits — ReDoS
### Description The `JsonPath` component's `match()` and `search()` filter functions compile a caller-supplied pattern straight into `preg_match()`: ```php 'match' => @preg_match(\sprintf('/^%s$/u', $this->transformJsonPathRegex($argList[1])), $value), 'search' => @preg_match("/{$this->transformJsonPathRegex($argList[1])}/u", $value), ``` `transformJsonPathRegex()` only performs cosmetic escaping: there is no length cap, no restriction to the RFC 9485 i-regexp subset, and no bound on backtracking. An application that evaluates an attacker-influenced JSONPath expression server-side (e.g. one taken from a query parameter or API field and passed to `JsonCrawler`) can therefore be made to run a catastrophic-backtracking pattern such as `$[?search(@, "(a+)+$")]`. Evaluated against a moderately sized document, this pins a CPU core for seconds per request, so a handful of concurrent requests exhausts the worker pool: a denial of service. Because the `preg_match()` calls are prefixed with `@`, the PCRE backtrack-limit errors that would otherwise surface are suppressed, leaving no log trace. ### Conditions for exploitation An application that evaluates an attacker-influenced JSONPath expression containing a `match()` / `search()` filter against any non-trivial JSON input. ### Resolution `JsonCrawler` runs the `preg_match()` calls through a helper that lowers `pcre.backtrack_limit` to 10000 for the duration of the call (restoring the previous value afterwards), so a pathological pattern fails fast instead of stalling the worker. The patch for this issue is available [here](https://github.com/symfony/symfony/commit/1ac2d47418ec23066112db1e6ca35be6fe123d14) for branch 7.4. ### Credits Symfony would like to thank Himanshu Anand for reporting the issue and Alexandre Daubois for providing the fix.
公開元の対処情報
個別の対処手順は未記録です。開発元の最新の案内と、対象の製品・系列に合う修正版を確認してください。
出典・著作権・ライセンスを確認する
- 出典
GitHub Advisory Database
- 利用許諾
CC-BY-4.0
- 利用条件
当サイトでの保存履歴
当サイトが取得した原本の履歴です。公開元での過去の改訂日時とは異なります。
初回保存のみです。訂正前の版はまだありません。
現在の保存内容2026/10/31 17:00
掲載中修正版あり
このページは公表情報を確認するためのデータです。製品を使っているだけで被害や脆弱性への該当が確定するものではありません。現在のバージョン、設定条件、開発元の更新情報を確認してください。

