Miggo Logo

CVE-2024-28237:
XSS via the "Snapshot Test" feature in Classic Webcam plugin settings

4

CVSS Score
3.1

Basic Information

EPSS Score
0.50568%
Published
3/18/2024
Updated
1/21/2025
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:L
Package NameEcosystemVulnerable VersionsFirst Patched Version
OctoPrintpip<= 1.9.31.10.0rc3

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from how the snapshot test response was handled in the Classic Webcam plugin's JavaScript. The pre-patch code directly interpolated the server-provided Content-Type into an HTML string via concatenation ($('<p>...</p><img src="data:' + mimeType + ... >')). This unsafe practice allowed XSS when an attacker provided a Content-Type containing HTML event handlers. The patched version fixes this by using safe DOM construction methods (jQuery's .attr() and .text()), eliminating HTML string injection vectors.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Imp**t O*toPrint v*rsions up until *n* in*lu*in* *.*.* *ont*in * vuln*r**ility t**t *llows m*li*ious **mins to *on*i*ur* or t*lk * vi*tim wit* **ministr*tor ri**ts into *on*i*urin* * w****m sn*ps*ot URL w*i** w**n t*st** t*rou** t** "T*st" *utto

Reasoning

T** vuln*r**ility st*mm** *rom *ow t** sn*ps*ot t*st r*spons* w*s **n*l** in t** *l*ssi* W****m plu*in's J*v*S*ript. T** pr*-p*t** *o** *ir**tly int*rpol*t** t** s*rv*r-provi*** *ont*nt-Typ* into *n *TML strin* vi* *on**t*n*tion ($('<p>...</p><im* sr