october/system security advisory
CVE-2025-61674: October CMS Vulnerable to Stored XSS via Editor and Branding Styles
CVE-2025-61674 is a medium-severity stored XSS vulnerability in the PHP package october/system (CVSS 4.8), published 10 January 2026. No fixed release exists yet: the newest version, 1.1.12, is affected. Exploiting it needs an admin-level account.
medium 4.8 affects newest 1.1.12 published 2026-01-10 · updated 2026-06-17
- Affected versions
- <= 3.7.12
>= 4.0.0, <= 4.0.11 - Fixed in
- no fix yet
- Newest release
- 1.1.12
- Severity
- Medium · CVSS 4.8
- Type
- Stored cross-site scripting (XSS)
CWE-79 - Exploited in the wild
- Not on the CISA KEV list
checked 2026-11-04
Is your october/system version affected?
Who can exploit CVE-2025-61674
- Access: A high-privilege account in the app, such as an admin.
- Interaction: A user also has to do something, such as open a link or a page the attacker prepared.
CVSS vector (scored by NVD): CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N
How to fix CVE-2025-61674 in october/system
- Find the installed version:
composer show october/system. If you never required it yourself,composer why october/systemshows which package pulls it in. - There is no fixed release yet. Read the advisory below for a workaround, and avoid or switch off the affected feature until a fix ships.
- Check back on the october/system page. It updates daily from Packagist.
- Run
composer audit. It reads the same advisory data and should no longer list CVE-2025-61674. - Commit composer.lock and deploy it. On the server, run
composer install --no-devfrom the lock file, notcomposer update.
If you cannot upgrade yet
- Escape output in your own templates and add a Content-Security-Policy that blocks inline scripts.
- Limit who can save the content the advisory names (for example rich text, SVG or form fields).
- If your app does not use the affected feature, note that in your audit, but still plan the upgrade.
The CVE-2025-61674 advisory
October is a Content Management System (CMS) and web platform. Prior to versions 3.7.13 and 4.0.12, a cross-site scripting (XSS) vulnerability was identified in October CMS backend configuration forms. A user with the Global Editor Settings permission could inject malicious HTML/JS into the stylesheet input at Markup Styles. A specially crafted input could break out of the intended <style> context, allowing arbitrary script execution across backend pages for all users. This issue has been patched in versions 3.7.13 and 4.0.12.
References
- GitHub advisory GHSA-gxxc-m74c-f48x github.com
Other october/system advisories
- low CVE-2026-49400: October CMS: PHP Object Injection via Backend Widget Session Storage 2026-09-14
- low CVE-2026-46696: October CMS: Safe Mode Sandbox Bypass via Session Store and Forwarded Builder Calls 2026-09-14
- low CVE-2026-29179: October CMS: Editor Sub-Permission Bypass for Asset and Blueprint File Operations 2026-04-21
- low CVE-2026-27937: October CMS: Reflected XSS via DataTable Form Widget 2026-04-21
- medium CVE-2026-26067: October CMS has Safe Mode Bypass via CSS Preprocessor Compilers 2026-04-21
- medium CVE-2026-24907: October CMS has Stored XSS in Event Log Mail Preview 2026-04-14
Related
Need help patching or upgrading? Laskyr does PHP and Laravel security fixes and upgrades. Tell us what you run and we reply with a plan and a price.
Ask about a fixWhere this data comes from
- Affected and fixed versions: the Packagist security advisories API (GitHub Advisory Database and FriendsOfPHP), the same data
composer audituses. Synced 2026-11-03. - Description, score, weakness and references: NIST National Vulnerability Database (NVD), checked 2026-11-04. This product uses data from the NVD API but is not endorsed or certified by the NVD.
- Exploited-in-the-wild status: the CISA Known Exploited Vulnerabilities catalog, checked 2026-11-04.
- Compiled by Daniel Lasek at Laskyr from the sources above. The summary, “who can exploit it”, “how to fix it” and hardening sections are our plain-English reading of the record and are generated from it. The quoted description is the record's own text. Spot an error? Tell us.