Decidim has broken access control in templatesGHSA-639h-86hw-qcjq
HIGHGHSA-639h-86hw-qcjq is a high-severity (CVSS 7.1) CWE-284 vulnerability in decidim. A fix is available for decidim — see the affected versions and patch details below.
Exploitation Status
No confirmed exploitation observed yet
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for GHSA-639h-86hw-qcjq.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
decidim💎decidim-templates💎decidim-templates💎decidimReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects RubyGems packages — download data is not available via public APIs for these ecosystems.
Description
Decidim is a participatory democracy framework, written in Ruby on Rails, originally developed for the Barcelona City government online and offline participation website. The templates module doesn't enforce the correct permissions, allowing any logged-in user to access to this functionality in the administration panel. An attacker could use this vulnerability to change, create or delete templates of surveys. This issue has been patched in version 0.26.8 and 0.27.4.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 💎RubyGems | decidim | ≥ 0.23.2&&< 0.26.8 | 0.26.8bundle update decidim --conservative |
| 💎RubyGems | decidim-templates | ≥ 0.23.2&&< 0.26.8 | 0.26.8bundle update decidim-templates --conservative |
| 💎RubyGems | decidim-templates | ≥ 0.27.0&&< 0.27.4 | 0.27.4bundle update decidim-templates --conservative |
| 💎RubyGems | decidim | ≥ 0.27.0&&< 0.27.4 | 0.27.4bundle update decidim --conservative |
Affected Products
decidimdecidimDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for decidim, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update decidim to 0.26.8 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-639h-86hw-qcjq is resolved across your whole dependency graph.
Workarounds
Put an independent control in front of the weakness: restrict the affected endpoint or interface to trusted networks, require an additional authentication factor or proxy-level check, and invalidate existing sessions and credentials in case the flaw has already been used.
Frequently Asked Questions
Is GHSA-639h-86hw-qcjq in your dependencies?
Find it across RubyGems, including transitive dependencies.