CVE-2023-47634:
Race condition in Endorsements
3.1
CVSS Score
3.1
Basic Information
CVE ID
GHSA ID
EPSS Score
0.51802%
CWE
Published
2/20/2024
Updated
2/14/2025
KEV Status
No
Technology
Ruby
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
decidim | rubygems | >= 0.10.0, < 0.26.9 | 0.26.9 |
decidim | rubygems | >= 0.27.0, < 0.27.5 | 0.27.5 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stemmed from improper handling of concurrent endorsement creation requests and inconsistent null/0 values for user_group_id. The key fixes were: 1) Adding RecordNotUnique exception handling in EndorseResource#call to catch race conditions, 2) Standardizing on 0 instead of nil for user_group_id in queries to enforce unique constraints, and 3) Updating endorsement checks to match the 0 default value. These changes indicate the original functions lacked proper synchronization and consistent unique constraint enforcement.