Miggo Logo

CVE-2005-3745:
Apache Struts Cross-site scripting Vulnerability

N/A

CVSS Score

Basic Information

EPSS Score
0.9796%
Published
5/1/2022
Updated
9/18/2023
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
-
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.apache.struts:struts-coremaven<= 1.2.7

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability occurs because the query string is included unescaped in error messages generated by the request handler. In Apache Struts 1.x, the RequestProcessor class is responsible for processing requests and generating errors. Its process() method validates actions and parameters, and when invalid inputs are detected (e.g., non-existent actions), it constructs error messages using the raw request URI (including the query string). Since the query string is not HTML-encoded in these error messages, it allows XSS payloads to execute. This aligns with the CWE-80 description and the vulnerability's root cause described in the advisory.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

*ross-sit* s*riptin* (XSS) vuln*r**ility in *p**** Struts *.*.*, *n* possi*ly ot**r v*rsions *llows r*mot* *tt**k*rs to inj**t *r*itr*ry w** s*ript or *TML vi* t** qu*ry strin*, w*i** is not prop*rly quot** or *ilt*r** w**n t** r*qu*st **n*l*r **n*r*

Reasoning

T** vuln*r**ility o**urs ****us* t** qu*ry strin* is in*lu*** un*s**p** in *rror m*ss***s **n*r*t** *y t** r*qu*st **n*l*r. In *p**** Struts *.x, t** R*qu*stPro**ssor *l*ss is r*sponsi*l* *or pro**ssin* r*qu*sts *n* **n*r*tin* *rrors. Its pro**ss() m