Skip to content

symfony/framework-bundle-v7.3.4: 5 vulnerabilities (highest severity is: 7.3) #2

Description

@mend-for-github-com
Vulnerable Library - symfony/framework-bundle-v7.3.4

Vulnerabilities

Vulnerability Severity CVSS Dependency Type Fixed in (symfony/framework-bundle-v7.3.4 version) Remediation Possible**
CVE-2025-64500 High 7.3 symfony/http-foundation-v7.3.4 Transitive N/A*
CVE-2026-48736 High 7.2 symfony/http-foundation-v7.3.4 Transitive N/A*
CVE-2026-45073 High 7.1 symfony/cache-v7.3.4 Transitive N/A*
CVE-2026-45065 Medium 6.1 symfony/routing-v7.3.4 Transitive N/A*
CVE-2026-48784 Medium 5.8 symfony/routing-v7.3.4 Transitive N/A*

*For some transitive vulnerabilities, there is no version of direct dependency with a fix. Check the "Details" section below to see if there is a version of transitive dependency where vulnerability is fixed.

**In some cases, Remediation PR cannot be created automatically for a vulnerability despite the availability of remediation

Details

CVE-2025-64500

Vulnerable Library - symfony/http-foundation-v7.3.4

Defines an object-oriented layer for the HTTP specification

Library home page: https://api.github.com/repos/symfony/http-foundation/zipball/c061c7c18918b1b64268771aad04b40be41dd2e6

Dependency Hierarchy:

  • symfony/framework-bundle-v7.3.4 (Root Library)
    • symfony/http-foundation-v7.3.4 (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Symfony is a PHP framework for web and console applications and a set of reusable PHP components. Symfony's HttpFoundation component defines an object-oriented layer for the HTTP specification. Starting in version 2.0.0 and prior to version 5.4.50, 6.4.29, and 7.3.7, the "Request" class improperly interprets some "PATH_INFO" in a way that leads to representing some URLs with a path that doesn't start with a "/". This can allow bypassing some access control rules that are built with this "/"-prefix assumption. Starting in versions 5.4.50, 6.4.29, and 7.3.7, the "Request" class now ensures that URL paths always start with a "/".

Publish Date: 2025-11-12

URL: CVE-2025-64500

CVSS 3 Score Details (7.3)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: Low
    • Integrity Impact: Low
    • Availability Impact: Low

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-3rg7-wf37-54rm

Release Date: 2025-11-12

Fix Resolution: symfony/symfony - v7.3.7,symfony/http-foundation - v6.4.29,symfony/http-foundation - v7.3.7,symfony/symfony - v6.4.29

CVE-2026-48736

Vulnerable Library - symfony/http-foundation-v7.3.4

Defines an object-oriented layer for the HTTP specification

Library home page: https://api.github.com/repos/symfony/http-foundation/zipball/c061c7c18918b1b64268771aad04b40be41dd2e6

Dependency Hierarchy:

  • symfony/framework-bundle-v7.3.4 (Root Library)
    • symfony/http-foundation-v7.3.4 (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Description "Symfony\Component\HttpClient\NoPrivateNetworkHttpClient" is documented as a decorator that blocks requests to private networks by default. The list of blocked subnets ("Symfony\Component\HttpFoundation\IpUtils::PRIVATE_SUBNETS" on 6.4+, a private constant in "NoPrivateNetworkHttpClient" on 5.4) enumerates RFC1918, loopback, link-local and IPv4-mapped IPv6 ("::ffff:0:0/96") prefixes, but omits the remaining IPv6 transition forms that can embed a private IPv4 destination: 6to4 ("2002::/16", RFC 3056), Teredo ("2001::/32", RFC 4380), NAT64 ("64:ff9b::/96", RFC 6052 and "64:ff9b:1::/48", RFC 8215) and IPv4-compatible IPv6 ("::/96", RFC 4291 §2.5.5.1). "IpUtils::checkIp6()" is a pure bitwise CIDR comparison against the constants list and never extracts the embedded IPv4, so an attacker who can supply a URL writes the loopback / RFC1918 IPv4 target as e.g. "http://[2002:7f00:1::]/" (6to4 → 127.0.0.1), "http://[64:ff9b::7f00:1]/" (NAT64 → 127.0.0.1), "http://[::7f00:1]/" (IPv4-compatible → 127.0.0.1) or "http://[2001::1]/" (Teredo). "IpUtils::isPrivateIp()" returns "false" and "NoPrivateNetworkHttpClient" dispatches the request. Real-world reachability of the embedded IPv4 depends on the deploy's IPv6 routing (6to4 tunnel interface, upstream NAT64 gateway, kernel handling of IPv4-compatible addresses), but the security boundary the decorator promises — the dispatch decision — is crossed regardless of whether the packet ultimately lands on the embedded IPv4. Resolution The private-subnet list now includes "::/96", "2002::/16", "2001::/32", "64:ff9b::/96" and "64:ff9b:1::/48". Blanket blocking of these prefixes matches the policy applied by Chromium and Mozilla's Private Network Access; server-side HTTPS APIs are not legitimately published on these prefixes. The patches for this issue are available "here" (symfony/symfony@8276536) for branch 5.4 and "here" (symfony/symfony@85b8315) for branch 6.4 (and forward-ported to 7.4, 8.0 and 8.1). Credits Symfony would like to thank tonghuaroot for reporting the issue and Nicolas Grekas for providing the fix.

Publish Date: 2026-06-15

URL: CVE-2026-48736

CVSS 3 Score Details (7.2)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Changed
  • Impact Metrics:
    • Confidentiality Impact: Low
    • Integrity Impact: Low
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-38cx-cq6f-5755

Release Date: 2026-06-15

Fix Resolution: symfony/http-client - v5.4.53,symfony/http-foundation - v6.4.41,symfony/http-foundation - v8.0.13,symfony/http-foundation - v7.4.13,https://github.com/symfony/symfony.git - v6.4.41,https://github.com/symfony/symfony.git - v5.4.53,https://github.com/symfony/symfony.git - v8.0.13,https://github.com/symfony/symfony.git - v7.4.13

CVE-2026-45073

Vulnerable Library - symfony/cache-v7.3.4

Provides extended PSR-6, PSR-16 (and tags) implementations

Library home page: https://api.github.com/repos/symfony/cache/zipball/bf8afc8ffd4bfd3d9c373e417f041d9f1e5b863f

Dependency Hierarchy:

  • symfony/framework-bundle-v7.3.4 (Root Library)
    • symfony/cache-v7.3.4 (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Description "Symfony\Component\Cache\Adapter\PdoAdapter" is the PDO-backed cache adapter. Its "clear($prefix)" method (inherited from "AbstractAdapterTrait") is documented to delete cache items whose key starts with "$prefix". In the non-versioning code path, the caller-supplied "$prefix" is concatenated into "$namespace = $this->namespace.$prefix" and passed to "PdoAdapter::doClear()", which builds: DELETE FROM

WHERE <id_col> LIKE '%' The value is interpolated directly into the SQL text and executed with "PDO::exec()": "$namespace" is not bound. A caller able to influence "$prefix" can break out of the literal and inject SQL, expanding deletion scope from the intended prefix to arbitrary rows, or otherwise reshape query semantics. Most applications don't expose "clear($prefix)" to untrusted input directly, but the contract of the method is to safely accept any prefix string, so the lack of escaping is a defect of the adapter itself. Resolution "AbstractAdapterTrait::clear()" now rejects any "$prefix" containing characters outside "[-+.A-Za-z0-9]": when an invalid prefix is supplied, the method logs a warning and returns "false" instead of reaching the SQL layer. This blocks quotes, "%", null bytes and other characters that would let an attacker break out of the "LIKE" literal. The patch for this issue is available "here" (symfony/symfony@ec50b79) for branch 5.4. Credits Symfony would like to thank secsys_codex for reporting the issue and Nicolas Grekas for fixing it.

Publish Date: 2026-05-31

URL: CVE-2026-45073

CVSS 3 Score Details (7.1)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: Low
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: High
    • Availability Impact: Low

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Release Date: 2026-05-27

Fix Resolution: https://github.com/symfony/symfony.git - v7.4.12,https://github.com/symfony/symfony.git - v5.4.52,https://github.com/symfony/symfony.git - v8.0.12,https://github.com/symfony/symfony.git - v6.4.40

CVE-2026-45065

Vulnerable Library - symfony/routing-v7.3.4

Maps an HTTP request to a set of configuration variables

Library home page: https://api.github.com/repos/symfony/routing/zipball/8dc648e159e9bac02b703b9fbd937f19ba13d07c

Dependency Hierarchy:

  • symfony/framework-bundle-v7.3.4 (Root Library)
    • symfony/routing-v7.3.4 (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Description Symfony routes can declare a requirements regex per path parameter, e.g. a route "/{_locale}/blog" with "requirements: { _locale: 'en|fr|de' }". The Twig "path()" / "url()" helpers (backed by "UrlGenerator") validate supplied parameter values against that regex before building the URL. UrlGenerator constructs the validation pattern as "'#^'.$req.'$#'", where "$req" is the raw requirement string. For a requirement expressed as an alternation, e.g. "_locale: 'ar|bg|...|vi|...|zh_CN'" (very common), "^" and "$" anchor only the first and last alternatives, so any middle alternative matches as an unanchored substring. A value like "/evil.com" satisfies the requirement (because it contains "vi"), and the generated path becomes "//evil.com/...": a protocol-relative URL the browser navigates off-site. Resolution The "UrlGenerator" class now wraps the requirement in a non-capturing group so the "^" and "$" anchors apply to the whole alternation. The patch for this issue is available "here" (symfony/symfony@bcf487c) for branch 5.4. Credits Symfony would like to thank Claude Mythos Preview (via Project Glasswing) for reporting the issue and providing the fix.

Publish Date: 2026-06-10

URL: CVE-2026-45065

CVSS 3 Score Details (6.1)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: Required
    • Scope: Changed
  • Impact Metrics:
    • Confidentiality Impact: Low
    • Integrity Impact: Low
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Release Date: 2026-05-27

Fix Resolution: https://github.com/symfony/symfony.git - v8.0.9,https://github.com/symfony/symfony.git - v6.4.38,https://github.com/symfony/symfony.git - v7.4.9,https://github.com/symfony/symfony.git - v5.4.52

CVE-2026-48784

Vulnerable Library - symfony/routing-v7.3.4

Maps an HTTP request to a set of configuration variables

Library home page: https://api.github.com/repos/symfony/routing/zipball/8dc648e159e9bac02b703b9fbd937f19ba13d07c

Dependency Hierarchy:

  • symfony/framework-bundle-v7.3.4 (Root Library)
    • symfony/routing-v7.3.4 (Vulnerable Library)

Found in base branch: main

Vulnerability Details

Description "Symfony\Component\Routing\Generator\UrlGenerator::doGenerate()" percent-encodes "." and ".." path segments so that the generated URL still resolves to the originating route after RFC 3986 §5.2.4 dot-segment removal (which strict RFC-3986 consumers — routers, reverse proxies, HTTP clients — perform before percent-decoding). The encoding was implemented as "strtr($url, ['/../' => '/%2E%2E/', '/./' => '/%2E/'])" plus a trailing-segment fixup. "strtr" advances past the trailing "/" of each match, so the next dot-segment in a chained sequence was left unescaped: | Input | Output (before fix) | Expected | | -------------------- | ---------------------------------------- | ----------------------------------- | | "/../../../" | "/%2E%2E/../%2E%2E/" | "/%2E%2E/%2E%2E/%2E%2E/" | | "/foo/../../../bar" | "/foo/%2E%2E/../%2E%2E/bar" | "/foo/%2E%2E/%2E%2E/%2E%2E/bar" | When a route exposes a parameter constrained by a permissive requirement (".+", ".*", or similar) that accepts dots and slashes, attacker-controlled chained ".." or "." segments produce a generated URL that, under strict RFC 3986 normalization, collapses to a different path than the originating route. The Twig "path()" / "url()" helpers and any server-side use of "UrlGenerator" are affected. Same class of route round-trip integrity issue as CVE-2026-45065. Note: WHATWG-conformant browsers treat "%2E"/"%2E%2E" as dot-segments during URL parsing, so the encoding never protected browser-side traversal. The defense exists for RFC-3986-conformant consumers; restoring it for chained segments closes the gap there. Resolution "UrlGenerator" now matches every "/." or "/.." dot-segment in a single left-to-right "preg_replace_callback" pass using a lookahead that does not consume the trailing "/", so adjacent dot-segments are encoded correctly. The patches for this issue are available "here" (symfony/symfony@4b63c3a) for branch 5.4 (and forward-ported to 6.4, 7.4, 8.0 and 8.1). Credits Symfony would like to thank Alex Pott for reporting the issue and Nicolas Grekas for providing the fix.

Publish Date: 2026-06-15

URL: CVE-2026-48784

CVSS 3 Score Details (5.8)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Changed
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: Low
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Release Date: 2026-06-15

Fix Resolution: https://github.com/symfony/symfony.git - v8.0.13,https://github.com/symfony/symfony.git - v6.4.41,https://github.com/symfony/symfony.git - v7.4.13,https://github.com/symfony/symfony.git - v5.4.53

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions