> CVE-2023-51447 [MEDIUM]

« BACK_TO_HOME
PUBLISHED
2024-02-20 18:15
MODIFIED
2024-12-16 22:43
CVSS_SCORE V3
6.3
EPSS (Prob. Exploit)
0.49%
Top 57.4%
DATA SOURCES:
NVD 🔗 2025-10-18 CVE PROJECT 🔗 2026-01-19 FIRST EPSS 🔗 2026-11-08 GITHUB 🔗 2026-11-10 OSV 🔗 2026-11-08

> DESCRIPTION

Decidim is a participatory democracy framework. Starting in version 0.27.0 and prior to versions 0.27.5 and 0.28.0, the dynamic file upload feature is subject to potential cross-site scripting attacks in case the attacker manages to modify the file names of the records being uploaded to the server. This appears in sections where the user controls the file upload dialogs themselves and has the technical knowledge to change the file names through the dynamic upload endpoint. Therefore I believe it would require the attacker to control the whole session of the particular user but in any case, this needs to be fixed. Successful exploit of this vulnerability would require the user to have successfully uploaded a file blob to the server with a malicious file name and then have the possibility to direct the other user to the edit page of the record where the attachment is attached. The users are able to craft the direct upload requests themselves controlling the file name that gets stored to the database. The attacker is able to change the filename e.g. to `<svg onload=alert('XSS')>` if they know how to craft these requests themselves. And then enter the returned blob ID to the form inputs manually by modifying the edit page source. Versions 0.27.5 and 0.28.0 contain a patch for this issue. As a workaround, disable dynamic uploads for the instance, e.g. from proposals.

> AFFECTED_PRODUCTS

Decidim - Decidim
>= 0.27.0 < 0.27.5

> CVSS V3 METRICS

CVSS_VECTOR
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:N

> MÉTRIQUES CVSS DÉTAILLÉES

CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:L/A:N
Métrique Valeur Interprétation
AV (Vecteur d'Attaque)
Attack Vector
Network (N)
Exploit possible à distance via réseau (HTTP, API, etc.)
AC (Complexité d'Attaque)
Attack Complexity
Low (L)
Peu de conditions requises pour exploiter
PR (Privilèges Requis)
Privileges Required
Low (L)
Authentifié avec compte utilisateur basique
UI (Interaction Utilisateur)
User Interaction
Required (R)
Nécessite une action utilisateur (clic lien, ouverture fichier, etc.)
S (Périmètre)
Scope
Unchanged (U)
Impact reste dans le périmètre du composant compromis
C (Impact Confidentialité)
Confidentiality Impact
High (H)
Divulgation totale d'informations
I (Impact Intégrité)
Integrity Impact
Low (L)
Modification limitée des données possible
A (Impact Disponibilité)
Availability Impact
None (N)
Aucune interruption de service

> RÉSUMÉ DES IMPACTS

Confidentialité
High
Divulgation totale d'informations
Intégrité
Low
Modification limitée des données possible
Disponibilité
None
Aucune interruption de service

> GITHUB SECURITY ADVISORY

GHSA-9w99-78rj-hmxq MODERATE

Cross-site scripting (XSS) in the dynamic file uploads

AFFECTED PACKAGES:
RUBYGEMS / decidim-core
>= 0.27.0, < 0.27.5
Fixed in: 0.27.5
RUBYGEMS / decidim
>= 0.27.0, < 0.27.5
Fixed in: 0.27.5

> OSV (GOOGLE OPEN SOURCE VULNERABILITIES)

Decidim vulnerable to cross-site scripting (XSS) in the dynamic file uploads

AFFECTED PACKAGES:
Unknown / Unknown
5 versions affected
ALIASES:
GHSA-9w99-78rj-hmxq

> HISTORIQUE DES MODIFICATIONS

Première apparition
20/02/2024 18:15
Source: NVD
📊 ENRICHISSEMENT 18/10/2025 14:46
CVEPROJECT
Champ modifié: CVE Project
Ancienne valeur:
Non
Nouvelle valeur:
Oui
Total des modifications: 1 Dernière mise à jour: 1 year ago
« BACK_TO_HOME