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, when VAPID delivery is enabled, the notification subscription flow stores a client-supplied push endpoint without validating that it belongs to an approved push service, and SendPushNotification later passes that endpoint to WebPush.payload_send, allowing an authenticated user to create stored, mostly blind server-side requests to arbitrary reachable HTTPS endpoints. This issue is fixed in versions 0.30.9, 0.31.5, and 0.32.0.rc2.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| decidim | decidim | < 0.30.9, >= 0.31.0.rc1, < 0.31.5, >= 0.32.0.rc1, < 0.32.0 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| RubyGems | decidim-core | < 0.30.9 | 0.30.9 | GHSA-2g9c-vf8h-prxx |
| RubyGems | decidim-core | >= 0.31.0.rc1, < 0.31.5 | 0.31.5 | GHSA-2g9c-vf8h-prxx |
| RubyGems | decidim-core | >= 0.32.0.rc1, < 0.32.0 | 0.32.0 | GHSA-2g9c-vf8h-prxx |