CVE-2026-118516 in Symfonyinfo

Zusammenfassung

von VulDB • 04.11.2026

Die Symfony Routing-Komponenten CompiledUrlMatcher und UrlMatcher interpretieren die Host- und Pfadinformationen unterschiedlich, was es ermöglicht, pfadbasierte Autorisierungsregeln in Symfony-Versionen vor 5.4.56, 6.x vor 6.4.50, 7.x vor 7.4.23 und 8.x vor 8.1.11 zu umgehen.

Für Routen, die einen Host definieren, vergleicht CompiledUrlMatcher den String $host.'.'.$pathinfo mit dem Host-Regulärausdruck gefolgt vom Pfad-Regulärausdruck, während UrlMatcher den Host und den Pfad separat abgleicht. Ein Host-Platzhalter kann daher auf „/“ passen und den Anfang des Pfads verbrauchen, sodass die Anfrage an einen Controller weitergeleitet wird, während UrlMatcher keine passende Route findet. Regeln, die den Pfad betrachten, wie access_control-Einträge und Firewall-Muster, werden gegen den tatsächlichen Anforderungspfad ausgewertet; sie gelten daher nicht, wenn der Controller der Route ausgeführt wird, was potenziell eine unauthentifizierte Anfrage einen geschützten Controller erreichen lässt. Beispielsweise führt bei der Route /admin/report/{id}, dem Host app.{domain} und der Regel access_control: [{ path: ^/admin, roles: ROLE_ADMIN }] eine anonyme Anforderung für /admin/report/1 zur Anmeldeseite. Eine Anforderung mit dem Host-Header „app“ und dem Pfad „/x./admin/report/1“ erreicht stattdessen den Controller, wobei domain="/x" ist. Mit der erforderlichen Domain-Bedingung .+ funktioniert ein echter Hostname: app.example.com und /x./admin/report/1 passen zu domain="example.com./x".

Anwendungen sind betroffen, wenn sie Routen mit Host-Platzhaltern besitzen, die durch pfadbasierte Regeln geschützt sind. Bei der Standardanforderung muss der Host-Header der Host der Route ohne deren letzte Labels sein; dies wird beispielsweise von framework.trusted_hosts blockiert, während ein Webserver, der nur bekannte Namen bedient, dies möglicherweise nicht tut, etwa wenn Nginx den rohen Host-Header an FastCGI für eine Anforderungszeile mit einem absoluten URI weitergibt. Wenn die Anforderung „/“ akzeptiert, wie bei .+, funktioniert ein echter Hostname, und trusted_hosts bietet keinen Schutz.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Zuständig

Checkmarx

Reservieren

28.10.2026

Veröffentlichung

04.11.2026

Moderieren

akzeptiert

Eintrag

VDB-431066

EPSS

0.00000

KEV

nein

Aktivitäten

low

Quellen

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!