Lookup for vulnerable packages by Package URL.
| Purl | pkg:gem/decidim-core@0.31 |
| Type | gem |
| Namespace | |
| Name | decidim-core |
| Version | 0.31 |
| Qualifiers |
|
| Subpath | |
| Is_vulnerable | true |
| Next_non_vulnerable_version | null |
| Latest_non_vulnerable_version | null |
| Affected_by_vulnerabilities |
| 0 |
| url |
VCID-25zg-267g-w3cn |
| vulnerability_id |
VCID-25zg-267g-w3cn |
| summary |
Decidim's private data exports can lead to data leaks
Private data exports can lead to data leaks in cases where the UUID generation causes collisions for the generated UUIDs.
The bug was introduced by #13571 and affects Decidim versions 0.30.0 or newer (currently 2025-09-23).
This issue was discovered by running the following spec several times in a row, as it can randomly fail due to this bug:
```bash
$ cd decidim-core
$ for i in {1..10}; do bundle exec rspec spec/jobs/decidim/download_your_data_export_job_spec.rb -e "deletes the" || break ; done
```
Run the spec as many times as needed to hit a UUID that converts to `0` through `.to_i`.
The UUID to zero conversion does not cause a security issue but the security issue is demonstrated with the following example.
The following code regenerates the issue by assigning a predefined UUID that will generate a collision (example assumes there are already two existing users in the system):
```ruby |
| references |
|
| fixed_packages |
|
| aliases |
CVE-2025-65017, GHSA-3cx6-j9j4-54mp
|
| risk_score |
4.0 |
| exploitability |
0.5 |
| weighted_severity |
8.0 |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-25zg-267g-w3cn |
|
| 1 |
| url |
VCID-k1gk-pcda-a7cb |
| vulnerability_id |
VCID-k1gk-pcda-a7cb |
| summary |
Decidim has a cross-site scripting (XSS) in user name
### Impact
A stored code execution vulnerability in the user name field allows
a low-privileged attacker to execute arbitrary code in the context
of any user who passively visits a comment page, resulting in high
confidentiality and integrity impact across security boundaries.
### Patches
N/A
### Workarounds
Not available
### References
OWASP ASVS v4.0.3-5.1.3
### Credits
This issue was discovered in a security audit organized by
[octree](https://octree.ch/) and made by
[Secu Labs](https://seculabs.ch/) against Decidim financed
by the city of Lausanne (Switzerland). |
| references |
| 0 |
|
| 1 |
| reference_url |
https://github.com/decidim/decidim |
| reference_id |
|
| reference_type |
|
| scores |
| 0 |
| value |
8.7 |
| scoring_system |
cvssv3.1 |
| scoring_elements |
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N |
|
| 1 |
| value |
9.3 |
| scoring_system |
cvssv4 |
| scoring_elements |
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L |
|
| 2 |
| value |
CRITICAL |
| scoring_system |
generic_textual |
| scoring_elements |
|
|
|
| url |
https://github.com/decidim/decidim |
|
| 2 |
| reference_url |
https://github.com/decidim/decidim/releases/tag/v0.30.5 |
| reference_id |
|
| reference_type |
|
| scores |
| 0 |
| value |
8.7 |
| scoring_system |
cvssv3.1 |
| scoring_elements |
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N |
|
| 1 |
| value |
9.3 |
| scoring_system |
cvssv4 |
| scoring_elements |
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L |
|
| 2 |
| value |
CRITICAL |
| scoring_system |
generic_textual |
| scoring_elements |
|
|
| 3 |
| value |
Track |
| scoring_system |
ssvc |
| scoring_elements |
SSVCv2/E:N/A:N/T:P/P:M/B:A/M:M/D:T/2026-04-14T15:23:47Z/ |
|
|
| url |
https://github.com/decidim/decidim/releases/tag/v0.30.5 |
|
| 3 |
| reference_url |
https://github.com/decidim/decidim/releases/tag/v0.31.1 |
| reference_id |
|
| reference_type |
|
| scores |
| 0 |
| value |
8.7 |
| scoring_system |
cvssv3.1 |
| scoring_elements |
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N |
|
| 1 |
| value |
9.3 |
| scoring_system |
cvssv4 |
| scoring_elements |
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:L/SC:H/SI:H/SA:L |
|
| 2 |
| value |
CRITICAL |
| scoring_system |
generic_textual |
| scoring_elements |
|
|
| 3 |
| value |
Track |
| scoring_system |
ssvc |
| scoring_elements |
SSVCv2/E:N/A:N/T:P/P:M/B:A/M:M/D:T/2026-04-14T15:23:47Z/ |
|
|
| url |
https://github.com/decidim/decidim/releases/tag/v0.31.1 |
|
| 4 |
|
| 5 |
|
| 6 |
|
| 7 |
|
|
| fixed_packages |
|
| aliases |
CVE-2026-23891, GHSA-fc46-r95f-hq7g
|
| risk_score |
4.5 |
| exploitability |
0.5 |
| weighted_severity |
9.0 |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-k1gk-pcda-a7cb |
|
| 2 |
| url |
VCID-m38p-yqcn-nka4 |
| vulnerability_id |
VCID-m38p-yqcn-nka4 |
| summary |
Decidim amendments can be accepted or rejected by anyone
### Impact
The vulnerability allows any registered and authenticated user to
accept or reject any amendments. The impact is on any users who
have created proposals where the amendments feature is enabled.
This also elevates the user accepting the amendment as the author
of the original proposal as people amending proposals are provided
coauthorship on the coauthorable resources.
The only check done when accepting or rejecting amendments is whether
the amendment reactions are enabled for the component:
- https://github.com/decidim/decidim/blob/9d6c3d2efe5a83bb02e095824ff5998d96a75eb7/decidim-core/app/permissions/decidim/permissions.rb#L107
The permission checks have been changed at 1b99136 which was
introduced in released version 0.19.0. I have not investigated
whether prior versions are also affected.
### Patches
Not available
### Workarounds
Disable amendment reactions for the amendable component (e.g. proposals). |
| references |
|
| fixed_packages |
|
| aliases |
CVE-2026-40869, GHSA-w5xj-99cg-rccm
|
| risk_score |
4.0 |
| exploitability |
0.5 |
| weighted_severity |
8.0 |
| resource_url |
http://public2.vulnerablecode.io/vulnerabilities/VCID-m38p-yqcn-nka4 |
|
|
| Fixing_vulnerabilities |
|
| Risk_score | 4.5 |
| Resource_url | http://public2.vulnerablecode.io/packages/pkg:gem/decidim-core@0.31 |