Executive brief
Decidim, a popular open-source participatory democracy platform, contains a vulnerability in its push notification system. An authenticated user can provide a malicious web address that the server will later contact automatically when sending notifications. This could allow an attacker to probe internal network services or interact with external malicious infrastructure, potentially leading to data exposure or service disruption.
Technical details
A stored Server-Side Request Forgery (SSRF) vulnerability exists in Decidim's push notification subscription flow. When VAPID delivery is enabled, the application fails to validate that the client-supplied 'endpoint' URL belongs to an approved push service provider. An authenticated attacker can submit a malicious HTTPS URL via a POST request to /notifications_subscriptions, which is then persisted in the user's notification settings. When a notification is subsequently triggered, the 'WebPush.payload_send' method uses this stored URL as a destination for outbound POST requests. This allows for blind SSRF against internal or external HTTPS services. The issue is fixed in versions 0.30.9, 0.31.5, and 0.32.0 by implementing an allow-list for known push providers.
Affected products
- Decidim decidim-core < 0.30.9, >= 0.31.0.rc1, < 0.31.5, >= 0.32.0.rc1, < 0.32.0
Timeline
- 2026-05-07: patched: Pull request merged into develop branch
- 2026-07-13: advisory: GitHub Advisory published