CVE-2026-34559

criticalpriority · track · 36EPSS 0.004 · 32 %ileEUUS
grimoire priorityP2 · Scheduled
Exploitable?
—
no known exploitation
Likely / severe?
0.39% (32nd) EPSS
CVSS 9 · critical
Is it mine?
3 products
Check your exposure
Who says so?
4 sources
cnnvd · enisa_euvd · nvd · osv

EPSS · scored 2026-10-23

CI4MS is a CodeIgniter 4-based CMS skeleton that delivers a production-ready, modular architecture with RBAC authorization and theme support. Prior to version 0.31.0.0, the application fails to properly sanitize user-controlled input when creating or editing blog tags. An attacker can inject a malicious JavaScript payload into the tag name field, which is then stored server-side. This stored payload is later rendered unsafely across public tag pages and administrative interfaces without proper output encoding, leading to stored cross-site scripting (XSS). This issue has been patched in version 0.31.0.0.

01

cvss

Technical severity, 0–10. One row per scoring source.

9.1
010

base score 0–10 · higher = more severe · hover a vector to decode⚠ sources disagree · high–critical · 8.2–9.1

v3.19criticalCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:Hprimary · NVD / NIST USexploitability 2.3 · impact 6
v3.19.1criticalCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:Lsecondary · ENISA EU
v3.19.1criticalCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:Lsecondary · security-advisories@github.comexploitability 3.1 · impact 5.3
v3.19.1criticalCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:Lsecondary · OSV
v3.18.2highCVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H/E:Usecondary · CVSS-BT (t0sche)
02

weaknesses

The CWE weakness classes this flaw belongs to.

03

affected products (3)

Products and version ranges known to be affected.

04

advisories (1)

Vendor and ecosystem advisories describing this.

  • GHSA-4333-387x-w245CI4MS: Blogs Tags Full Account Takeover for All-Roles & Privilege-Escalation via Stored DOM XSS2026-04-01ghsa · osvUS

    ## Summary ### **Vulnerability: Stored DOM XSS via Blog Tag Name (Persistent Payload Injection)** - Stored Cross-Site Scripting via Unsanitized Blog Tag Name in Blog Management ### Description The application fails to properly sanitize user-controlled input when creating or editing blog tags. An attacker can inject a malicious JavaScript payload into the tag name field, which is then stored server-side. This stored payload is later rendered unsafely across public tag pages and administrative interfaces without proper output encoding, leading to stored cross-site scripting (XSS). ### Affected Functionality - Blog tag creation functionality - Blog tag editing functionality - Blog tag storage and retrieval logic ### Attack Scenario - An attacker creates or edits a blog tag name to include a malicious XSS payload. - The application stores this value without sanitization or encoding. - The payload persists and executes whenever the tag name is rendered in affected views. ### Impact - Persistent Stored XSS - Execution of arbitrary JavaScript in victims’ browsers - Privilege escalation when viewed by administrators or privileged users - Full administrator account takeover - Full account takeover across all roles - Full compromise of the entire application Endpoints: - `/backend/blogs/tags/` - `/blog/{id}` ## Steps To Reproduce (POC) 1. Go to the Blog Tags management page 2. Create or edit a tag and insert an XSS payload into the tag name such as: `<img src=x onerror=alert(document.domain)>` 3. Save the tag 4. View a public blog page or the administrative interface where the tag is rendered 5. Notice the XSS payload executing automatically ## Remediation - **Avoid unsafe DOM manipulation methods:** Do not use `.html()`, `innerHTML`, or similar sink functions in client-side JavaScript or server-side templating (e.g., PHP). Even when user input flowing into these sinks is not immediately apparent, they can introduce Cross-Site Scripting (XSS) vulnerabilities that an attacker may exploit. - **Apply output encoding:** Implement HTML entity encoding on all user-controlled data before rendering it in the browser. This helps neutralize potentially malicious input. - **Implement input sanitization:** Ensure that all user-supplied input is properly sanitized before processing or output. Currently, no sanitization mechanisms are in place, which should be addressed as a priority. - **Enforce security headers and cookie attributes:** - **Content Security Policy (CSP):** Define and enforce a strict CSP to limit the execution of unauthorized scripts. - **HttpOnly flag:** Set the `HttpOnly` attribute on session cookies to prevent client-side script access. - **SameSite attribute:** Configure the `SameSite` cookie attribute to mitigate Cross-Site Request Forgery (CSRF) risks. - **Secure flag:** Ensure all cookies are transmitted only over HTTPS by enabling the `Secure` attribute. These measures collectively reduce the impact of XSS and help prevent escalation paths such as CSRF via XSS. # Ready Video POC: https://mega.nz/file/GI9Bnbha#FkVY4K7AiuttnBGDFaCtxuJwKk-afRcKjYJnkqfLZOM

05

also known as (3)

Other names and identifiers for this entity.

06

sources

Which sources assert this record, and when.

published 2026-04-01modified 2026-06-17
07

references (7)

External citations — patches, advisories, analysis.

scry

Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.

Free scan