Categories
CVE-2026-45756 high CVSS 7.5

Vulnerability in symfony/json-path (CVE-2026-45756)

Summary

Vulnerability in symfony/json-path (CVE-2026-45756). Risk of unauthorized operations or information disclosure. Exploitable via JsonPath. Mitigation: upgrade to 8.0.12 or later.

Original description

The description as published by the source.

Description

The JsonPath component's match() and search() filter functions compile a caller-supplied pattern straight into preg_match():

'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 pathologica…

Source: GitHub Security Advisories (Global) NVD GitHub Advisory

Auto-generated summary

Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.

A vulnerability tracked as CVE-2026-45756 has been found in symfony/json-path.
Attackers can target a specific entry point like JsonPath over the network to misuse the product.
Risk of unauthorized operations or information disclosure. CVSS score: 7.5/10.
What to do: upgrade symfony/json-path to 8.0.12 or later.
If unsure, ask your IT team or search "symfony/json-path CVE-2026-45756" on the vendor's site.

CVE-2026-45756 (symfony/json-path) — CWE-400 / CVSS v3 7.5
Attack vector: remote (network-reachable) / unauthenticated / no user interaction
Attack surface: JsonPath / JsonCrawler / pcre.backtrack_limit
Patched: 8.0.12 — apply immediately
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.

❓ What is the problem

A vulnerability (CWE-400) exists in symfony/json-path. Attackers reach the vulnerable code path via JsonPath without authentication.

📍 Affected scope

Check the vendor advisory for the affected versions of symfony/json-path. Attack surface: JsonPath / JsonCrawler / pcre.backtrack_limit.

🔥 Severity

Severity: High (CVSS 7.5/10). Risk of unauthorized operations or information disclosure.

🔧 How to fix

Update to 8.0.12.

🛡️ Workaround

Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.

🔍 Detection

Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'symfony/json-path' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.

Response actions

Concrete steps and command examples for SOC/SRE teams to execute in order

  1. 1
    Identify exposure identify
    grep -r 'symfony/json-path' . | grep -v node_modules

    リポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で symfony/json-path を grep し、稼働しているサービス・バージョンを把握する。

  2. 2
    Apply patch patch
    Upgrade symfony/json-path to 8.0.12

    ステージング環境で 8.0.12 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。

  3. 3
    Post-deployment verification verify
    Confirm patched version is live in production

    パッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。

Affected packages

composer symfony/json-path
[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"8.0.12"}]}]
composer symfony/symfony
[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"8.0.12"}]}]
Packagist symfony/json-path
[{"type":"ECOSYSTEM","events":[{"introduced":"8.0.0"},{"fixed":"8.0.12"}]}]
Packagist symfony/symfony
[{"type":"ECOSYSTEM","events":[{"introduced":"8.0.0"},{"fixed":"8.0.12"}]}]

Fix status by distribution

Fixed packages published by each distribution for this CVE

References

We use cookies for analytics and ad measurement. This setting applies to all Game co., Ltd. sites. Details