Decidim: Private exports can be downloaded through reusable links
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Information disclosure, Security bypass
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-200 and CWE-284.
Summary
Decidim is a participatory democracy framework. Prior to 0.30.9, from 0.31.0 before 0.31.5, and in 0.32.0.rc1 before 0.32.0.rc2, the normal download_your_data flow requires the requester to be logged in as the export owner, but the resulting Active Storage blob redirect URL can be replayed without authentication by anyone who obtains it. This is because Decidim::DownloadYourDataController#download_file authenticates the export owner but redirects to a signed Active Storage blob URL that is no longer bound to the owner session. This issue is fixed in versions 0.30.9, 0.31.5, and 0.32.0.rc2.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- 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.30.9; 0.31.0.rc1 to before 0.31.5; 0.32.0.rc1 to before 0.32.0 | 0.30.9, 0.31.5, 0.32.0 | Patch available | CNA |
| — | decidim-core (RubyGems) | before 0.30.9 | 0.30.9 | Patch available | GHSA-767h-63j4-5226 |
| — | decidim-core (RubyGems) | 0.31.0.rc1 to before 0.31.5 | 0.31.5 | Patch available | GHSA-767h-63j4-5226 |
| — | decidim-core (RubyGems) | 0.32.0.rc1 to before 0.32.0 | 0.32.0 | Patch available | GHSA-767h-63j4-5226 |
- decidim Vendordecidim Affected before 0.30.9; 0.31.0.rc1 to before 0.31.5; 0.32.0.rc1 to before 0.32.0 Fixed in 0.30.9, 0.31.5, 0.32.0 Patch available CNA
- decidim-core (RubyGems) Vendor— Affected before 0.30.9 Fixed in 0.30.9 Patch available GHSA-767h-63j4-5226
- decidim-core (RubyGems) Vendor— Affected 0.31.0.rc1 to before 0.31.5 Fixed in 0.31.5 Patch available GHSA-767h-63j4-5226
- decidim-core (RubyGems) Vendor— Affected 0.32.0.rc1 to before 0.32.0 Fixed in 0.32.0 Patch available GHSA-767h-63j4-5226
Remediation
- Fix · CNA decidim (decidim) Fixed in 0.30.9, 0.31.5, 0.32.0
- Fix · GHSA-767h-63j4-5226 decidim-core (RubyGems) Fixed in 0.30.9 Advisory →
- Fix · GHSA-767h-63j4-5226 decidim-core (RubyGems) Fixed in 0.31.5 Advisory →
- Fix · GHSA-767h-63j4-5226 decidim-core (RubyGems) Fixed in 0.32.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-45377
- 2026-10-03 Alias added: GHSA-767h-63j4-5226
References
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-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
- TI-2026-32933 Decidim: Forms admin question editor lacks authorization CVSS 3.1MEDIUM 5.4
Sources
- CVE-2026-45377 · CVE Program
- CVE-2026-45377 · NVD
- FIRST EPSS
- GHSA-767h-63j4-5226 · 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