GHSA-9mvp-w4rr-5c6x

    Dashboard / Vulnerabilities / GHSA-9mvp-w4rr-5c6x

    GHSA-9mvp-w4rr-5c6x

    Published: 9 Sept 2026Last Modified: 9 Sept 2026

    Summary: decidim-elections: Election question titles allow stored script execution

    Details: ## Description A low-privilege process-scoped admin who can manage elections can store arbitrary HTML in the question statement/body without sanitization, and the public elections UI renders that value unsafely. ## Technical description This stored XSS appears because election question titles are rendered as trusted HTML instead of sanitized text. The election question editor stores `question.body` as a normal translatable string, and the public helper `question_title` returns that value with `html_safe` and no sanitization boundary, so any user who can edit election questions can persist markup or script-bearing payloads that later render on public election pages. <img width="1506" height="1285" alt="decidim-election-01" src="https://github.com/user-attachments/assets/2e17f396-10f9-4423-bb97-5badbdb20d21" /> <img width="1540" height="657" alt="decidim-election-02" src="https://github.com/user-attachments/assets/178adb7b-d00e-4b5d-9237-f391e523973f" /> ### Impact A low-privilege process-scoped admin or other election editor with question-management rights can persist JavaScript that executes in visitor's browsers on public election pages and voting booth screens. ### Patches See https://github.com/decidim/decidim/pull/16659 ### Workarounds Developers should review their implementation's administrator accesses and not give access to untrustworthy users ### Resources OWASP XSS Injection ### Credits This issue was discovered in a security audit organized by the [Decidim Association](https://decidim.org) and made by [Radically Open Security](https://www.radicallyopensecurity.com/) against Decidim financed by [NGI](https://ngi.eu/).

    Affected packages

    Package

    Name: decidim-elections

    Purl: pkg:gem/decidim-elections

    Affected ranges

    Type: ECOSYSTEM

    Events:

    Introduced- 0
    Fixed -0.32.0

    Affected versions

    0.22.0

    Common Vulnerability Scoring System

    Attack Vector
    Network
    Adjacent
    Local
    Physical
    Privileges Required
    None
    Low
    High
    User Interaction
    None
    Required
    Scope
    Unchanged
    Changed
    Confidentiality
    None
    Low
    High
    Integrity
    None
    Low
    High
    Availability
    None
    Low
    High
    GHSA-9mvp-w4rr-5c6x | CVE-DB