Miggo Logo

CVE-2024-28190:
Contao: Cross site scripting in the file manager

5.4

CVSS Score
3.1

Basic Information

EPSS Score
0.72463%
Published
4/9/2024
Updated
4/9/2024
KEV Status
No
Technology
TechnologyPHP

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
contao/core-bundlecomposer>= 4.0.0, < 4.13.404.13.40
contao/core-bundlecomposer>= 5.0.0-RC1, < 5.3.45.3.4

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from three key points:

  1. In DC_Folder.php, StringUtil::specialchars() was missing the critical third parameter (encodeInsertTags=true) to encode double quotes in filenames, leaving HTML attributes vulnerable to injection.
  2. In core.js, modal title properties (opt.title) were directly interpolated into HTML without escaping &, <, ", and ' characters, enabling script execution.
  3. In tips.js, the tooltip text extraction from 'title' attributes lacked encoding for special characters. The patches explicitly add replace() chains and parameter adjustments to these exact locations, confirming these were the vulnerable points.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Imp**t Us*rs **n ins*rt m*li*ious *o** into *il* n*m*s w**n uplo**in* *il*s, w*i** is t**n *x**ut** in tooltips *n* popups in t** ***k*n*. ### P*t***s Up**t* to *ont*o *.**.** or *ont*o *.*.*. ### Work*roun*s *is**l* uplo**s *or untrust** us

Reasoning

T** vuln*r**ility st*ms *rom t*r** k*y points: *. In **_*ol**r.p*p, Strin*Util::sp**i*l***rs() w*s missin* t** *riti**l t*ir* p*r*m*t*r (*n*o**Ins*rtT**s=tru*) to *n*o** *ou*l* quot*s in *il*n*m*s, l**vin* *TML *ttri*ut*s vuln*r**l* to inj**tion. *.