Miggo Logo

CVE-2025-57756: Contao discloses sensitive information in the front end search index

5.3

CVSS Score
3.1

Basic Information

EPSS Score
-
Published
8/28/2025
Updated
8/28/2025
KEV Status
No
Technology
TechnologyPHP

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
contao/core-bundlecomposer>= 4.9.14, < 4.13.564.13.56
contao/contaocomposer>= 4.9.14, < 4.13.564.13.56
contao/core-bundlecomposer>= 5.0.0-RC1, < 5.3.385.3.38
contao/core-bundlecomposer>= 5.4.0-RC1, < 5.6.15.6.1
contao/contaocomposer>= 5.0.0-RC1, < 5.3.385.3.38
contao/contaocomposer>= 5.4.0-RC1, < 5.6.15.6.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability lies in the incorrect implementation of protection checks within the Contao core bundle. Specifically, the getFrontendModule and getContentElement functions in Contao\Controller were using the wrong object variables ($objModule and $objElement respectively) to verify if a module or content element was marked as protected. The patch corrects this by using the $objRow object, which accurately reflects the protection status. As a result of this flaw, content that was intended to be restricted was instead being indexed by the search system, making it accessible to unauthorized users through the front-end search interface. The identified functions are directly responsible for this information leak as they contain the flawed conditional logic that was bypassed.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Imp**t Prot**t** *ont*nt *l*m*nts t**t *r* r*n**r** *s *r**m*nts *r* in**x** *n* ***om* pu*li*ly *v*il**l* in t** *ront *n* s**r**. ### P*t***s Up**t* to *ont*o *.**.**, *.*.** or *.*.*. ### Work*roun*s *is**l* t** *ront *n* s**r**. ### *or

Reasoning

T** vuln*r**ility li*s in t** in*orr**t impl*m*nt*tion o* prot**tion ****ks wit*in t** *ont*o *or* *un*l*. Sp**i*i**lly, t** `**t*ront*n*Mo*ul*` *n* `**t*ont*nt*l*m*nt` *un*tions in `*ont*o\*ontroll*r` w*r* usin* t** wron* o*j**t v*ri**l*s (`$o*jMo*u