Executive brief
Decidim, a popular open-source platform for participatory democracy, is affected by a security flaw in how it handles multi-tenant authentication. In environments hosting multiple organizations, a security token issued for one organization can be reused to access private data in another organization. This could allow an attacker with administrative access in one group to view sensitive participant details or modify data in a completely separate group on the same server.
Technical details
Decidim is vulnerable to an authentication bypass (CWE-287) due to insufficient binding of JSON Web Tokens (JWT) to specific organization contexts in multi-tenant deployments. The root cause is that the API authentication strategy trusts a valid JWT principal without verifying that the principal belongs to the organization associated with the request's host header. An attacker with a valid JWT for one organization can replay that token against the API of a different organization on the same instance. This allows unauthorized access to admin-only GraphQL fields like 'participantDetails' and sensitive mutation paths such as 'proposal.answer'. The issue is fixed in versions 0.31.5 and 0.32.0.
Affected products
- decidim decidim < 0.31.5, >= 0.32.0.rc1, < 0.32.0
Timeline
- 2026-04-29: other: Initial fix pull request submitted
- 2026-05-10: patched: Final patches merged into development branch
- 2026-07-13: advisory: GitHub Advisory published