{"cve":"CVE-2026-45378","nvd":{"published":"2026-08-06T22:17:06.690","modified":"2026-09-08T20:51:43.490","status":"Deferred","description":"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 identity-document verification admin UI embeds verification_attachment blobs through reusable signed Active Storage disk URLs, allowing anyone who obtains a URL to download the scanned document without an authenticated Decidim session until the signature expires. Verification-document images are rendered with variant_url(...), which produces signed /rails/active_storage/disk/... links instead of routing the file through an authorization-checking controller. Because Decidim configures Active Storage service URLs to remain valid for seven days, the URL itself becomes the credential for that period. The affected files are verification_attachment blobs on Decidim::Authorization, and the admin review pages embed those signed URLs directly into the HTML for pending and confirmation views. This issue is fixed in versions 0.30.9, 0.31.5, and 0.32.0.rc2.","cvss_v4":null,"cvss_v3":{"version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","score":7.5},"cwes":["CWE-200"],"references":["https://github.com/decidim/decidim/security/advisories/GHSA-3mvf-82qp-8qh5","https://github.com/decidim/decidim/security/advisories/GHSA-3mvf-82qp-8qh5"],"products":[],"source":"nvd","synced_at":"2026-10-19T22:47:10.050265369+00:00"},"epss":{"cve":"CVE-2026-45378","score":0.00416,"percentile":0.35885,"date":"2026-10-31"},"kev":null,"osv":[{"id":"GHSA-3mvf-82qp-8qh5","url":"https://osv.dev/vulnerability/GHSA-3mvf-82qp-8qh5","summary":"Decidim: Verification documents can be downloaded through reusable links","modified":"2026-07-13T17:26:44.033683Z","packages":[{"ecosystem":"RubyGems","name":"decidim-verifications","purl":"pkg:gem/decidim-verifications","ranges":["<0.30.9"],"fixed":["0.30.9"]},{"ecosystem":"RubyGems","name":"decidim-verifications","purl":"pkg:gem/decidim-verifications","ranges":[">=0.31.0.rc1 <0.31.5"],"fixed":["0.31.5"]},{"ecosystem":"RubyGems","name":"decidim-verifications","purl":"pkg:gem/decidim-verifications","ranges":[">=0.32.0.rc1 <0.32.0"],"fixed":["0.32.0"]}]}],"attribution":["This product uses the NVD API but is not endorsed or certified by the NVD.","EPSS scores: FIRST Exploit Prediction Scoring System, https://www.first.org/epss","Known exploited vulnerabilities: CISA Known Exploited Vulnerabilities Catalog, https://www.cisa.gov/known-exploited-vulnerabilities-catalog","Package advisories: OSV (https://osv.dev), from the GitHub Advisory Database, PyPA, Go, RustSec and other ecosystem databases, under CC-BY 4.0 or CC0","CVE records: the CVE Program's CVE List (https://www.cve.org), under its terms of use (https://www.cve.org/Legal/TermsOfUse). CVE is a registered trademark of The MITRE Corporation; this product is not affiliated with the CVE Program."]}