CVE-2026-118516
Received Received - Intake

Authorization Bypass in Symfony Routing Component

Vulnerability report for CVE-2026-118516, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-11-04

Last updated on: 2026-11-04

Assigner: Checkmarx

Description

The Symfony Routing components CompiledUrlMatcher and UrlMatcher interpret the host and path information differently, allowing path-based authorization rules to be bypassed in Symfony versions prior to 5.4.56, 6.x prior to 6.4.50, 7.x prior to 7.4.23, and 8.x prior to 8.1.11. For routes that define a host, CompiledUrlMatcher matches the string $host.'.'.$pathinfo against the host regular expression followed by the path regular expression, while UrlMatcher matches the host and the path separately. A host placeholder can therefore  match /, and consume the beginning of the path, so the request is routed to a controller, while UrlMatcher  would find no route. Rules that look at the path, such as access_control entries and firewall patterns, are evaluated against the actual request path, so they do not apply while the controller of the route runs, potentially allowing an unauthenticated request to reach a protected controller. For example, with the route /admin/report/{id}, the host app.{domain} and the rule access_control: [{ path: ^/admin, roles: ROLE_ADMIN }], an anonymous request for /admin/report/1 is sent to the login page. A request with the Host header app and path /x./admin/report/1 instead reaches the controller, with domain="/x". With the required domain: .+, the real hostname works: app.example.com and /x./admin/report/1 match with domain="example.com./x". Applications are affected if they have routes with host placeholders protected by path-based rules. With the default requirement, the Host header must be the host of the route without its last labels, such as app: framework.trusted_hosts blocks that, while a web server that only serves known names may not, for instance, Nginx passing the raw Host header to FastCGI for a request line that carries an absolute URI. If the requirement accepts /, such as .+, a real hostname works, and trusted_hosts does not help.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-11-04
Last Modified
2026-11-04
Generated
2026-11-04
AI Q&A
2026-11-04
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 4 associated CPEs

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-863 The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check.
CWE-436 Product A handles inputs or steps differently than Product B, which causes A to perform incorrect actions based on its perception of B's state.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability affects Symfony's routing components (CompiledUrlMatcher and UrlMatcher) where host placeholders in routes can incorrectly match parts of the path. This causes path-based authorization rules to be bypassed. For example, a route like /admin/report/{id} with host app.{domain} may allow an attacker to craft a request with host app.x and path /admin/report/1, which gets interpreted as /x./admin/report/1, bypassing admin-only access restrictions.

Impact Analysis

An attacker could exploit this to bypass security controls like access_control rules or firewall patterns, potentially gaining unauthorized access to protected controllers or sensitive routes. This could lead to data breaches, privilege escalation, or other security incidents depending on the application's configuration.

Compliance Impact

This vulnerability could lead to unauthorized access to sensitive data, violating compliance requirements for data protection (e.g., GDPR's access controls or HIPAA's safeguards for protected health information). Non-compliance may result in legal penalties, fines, or reputational damage.

Mitigation Strategies
  • Upgrade Symfony to versions 5.4.56, 6.4.50, 7.4.23, or 8.1.11 or later to address the routing component vulnerability.
  • Clear the application cache after upgrading to ensure the patched routing rules are applied.
  • Review routes with host placeholders to confirm they are not misconfigured and could bypass access controls.
  • Check firewall and access_control rules to ensure they are correctly enforced on all paths.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-118516. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart

Security Radar

News mentioning this vulnerability
Loading related security news...