Miggo Logo

CVE-2020-5274:
Exceptions displayed in non-debug configurations in Symfony

4.6

CVSS Score
3.1

Basic Information

EPSS Score
0.50041%
Published
3/30/2020
Updated
2/6/2024
KEV Status
No
Technology
TechnologyPHP

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
symfony/error-handlercomposer>= 4.4.0, < 4.4.44.4.4
symfony/error-handlercomposer>= 5.0.0, < 5.0.45.0.4
symfony/symfonycomposer>= 4.4.0, < 4.4.44.4.4
symfony/symfonycomposer>= 5.0.0, < 5.0.45.0.4

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from two key issues: 1) The ErrorHandler.renderException method used scopedErrors to determine debug mode instead of the application's actual debug configuration, causing stacktraces to be displayed in production. 2) The HtmlErrorRenderer.template outputted exception properties (class, message, trace details) without HTML escaping, enabling XSS if exception messages contained user-controlled data. The commits fixed these by introducing a proper debug flag and adding escaping in the template rendering logic.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

**s*ription ----------- W**n `*rror**n*l*r` r*n**rs *n *x**ption *TML p***, it us*s un-*s**p** prop*rti*s *rom t** r*l*t** *x**ption *l*ss to r*n**r t** st**ktr***. T** s**urity issu* *om*s *rom t** ***t t**t t** st**ktr***s w*r* *lso *ispl*y** in n

Reasoning

T** vuln*r**ility st*ms *rom two k*y issu*s: *) T** `*rror**n*l*r.r*n**r*x**ption` m*t*o* us** s*op***rrors to **t*rmin* ***u* mo** inst*** o* t** *ppli**tion's **tu*l ***u* *on*i*ur*tion, **usin* st**ktr***s to ** *ispl*y** in pro*u*tion. *) T** `*t