Miggo Logo

CVE-2024-2179: Concrete CMS Stored Cross-site Scripting vulnerability

2.2

CVSS Score
3.1

Basic Information

EPSS Score
0.26727%
Published
3/5/2024
Updated
9/3/2024
KEV Status
No
Technology
TechnologyPHP

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:N/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
concrete5/concrete5composer< 9.2.79.2.7

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from insufficient output encoding when rendering the group type name. The patch introduced getDisplayName() (which applies the h() escaping function) and replaced direct calls to getName() in these two methods. The original getName() method itself is a simple getter and not inherently vulnerable, but its unescaped usage in getSelectList() and getType() created the XSS vector. The high confidence comes from the direct correlation between the patched locations and the vulnerability description.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

*on*r*t* *MS v*rsion * ***or* *.*.* is vuln*r**l* to Stor** XSS vi* t** N*m* *i*l* o* * *roup typ* sin** t**r* is insu**i*i*nt v*li**tion o* **ministr*tor provi*** **t* *or t**t *i*l*. * ro*u* **ministr*tor *oul* inj**t m*li*ious *o** into t** N*m* *

Reasoning

T** vuln*r**ility st*ms *rom insu**i*i*nt output *n*o*in* w**n r*n**rin* t** *roup typ* n*m*. T** p*t** intro*u*** `**t*ispl*yN*m*()` (w*i** *ppli*s t** `*()` *s**pin* *un*tion) *n* r*pl**** *ir**t **lls to `**tN*m*()` in t**s* two m*t*o*s. T** ori*i