Election question titles allow stored script execution
Key facts
- Attack vector
- Network
- Privileges required
- High
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.
Summary
Decidim is a participatory democracy framework. Prior to 0.32.0, a low-privilege process-scoped administrator or election editor with question-management rights can store HTML or script-bearing content in question.body. The question_title helper returns the translatable question body through html_safe without a sanitization boundary, causing stored script execution when visitors open public election pages or voting booth screens. The persisted script executes in visitors' browsers. The vulnerability is fixed in 0.32.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| decidim | decidim | before 0.32.0 | 0.32.0 | Patch available | CNA |
| — | decidim-elections (RubyGems) | before 0.32.0 | 0.32.0 | Patch available | GHSA-9mvp-w4rr-5c6x |
- decidim Vendordecidim Affected before 0.32.0 Fixed in 0.32.0 Patch available CNA
- decidim-elections (RubyGems) Vendor— Affected before 0.32.0 Fixed in 0.32.0 Patch available GHSA-9mvp-w4rr-5c6x
Remediation
- Fix · CNA decidim (decidim) Fixed in 0.32.0
- Fix · GHSA-9mvp-w4rr-5c6x decidim-elections (RubyGems) Fixed in 0.32.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-44282
- 2026-10-03 Alias added: GHSA-9mvp-w4rr-5c6x
References
Other 7
- https://github.com/decidim/decidim/security/advisories/GHSA-9mvp-w4rr-5c6x
- https://github.com/decidim/decidim/pull/16659
- https://github.com/decidim/decidim/pull/16669
- https://github.com/decidim/decidim/commit/64dbea3739f360f1eb36932dfc49d9686e61fc00
- https://github.com/decidim/decidim/commit/b6e1b003365d10c0df2bc7edc5edd26b62fafda1
- https://github.com/decidim/decidim/releases/tag/v0.32.0
- https://github.com/decidim/decidim
More decidim vulnerabilities
- TI-2026-33169 Decidim: Verification documents can be downloaded through reusable links CVSS 3.1HIGH 7.5
- TI-2025-40203 Decidim's private data exports can lead to data leaks CVSS 4.0HIGH 8.2
- TI-2026-33203 Decidim: JWT-backed authentication can be replayed across organizations CVSS 3.1HIGH 8.5
- TI-2026-33168 Decidim: Private exports can be downloaded through reusable links CVSS 3.1MEDIUM 6.5
- TI-2026-33204 Decidim: CSV census record endpoints improper authorization CVSS 3.1MEDIUM 6.0
- TI-2026-33167 Decidim: Admin user search allows SQL injection through similarity-based sorting CVSS 3.1MEDIUM 5.5
Sources
- CVE-2026-44282 · CVE Program
- CVE-2026-44282 · NVD
- FIRST EPSS
- GHSA-9mvp-w4rr-5c6x · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences