W platformie Decidim wykryto podatność typu stored XSS w polu nazwy użytkownika, sklasyfikowaną jako KRYTYCZNA (CVSS 9.3). Niskouprzywilejowany atakujący może wykonać dowolny kod w kontekście każdego użytkownika, który odwiedzi stronę z komentarzami, bez żadnej aktywnej interakcji z jego strony.
▸ Pokaż oryginał (EN)
Decidim is a participatory democracy framework. In versions below 0.30.5 and 0.31.0.rc1 through 0.31.0, 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. This issue has been fixed in versions 0.30.5 and 0.31.1.
Atakujący z podstawowymi uprawnieniami (np. zwykły użytkownik platformy) umieszcza złośliwy payload w polu nazwy użytkownika. Ponieważ dane te nie są prawidłowo sanityzowane przed wyświetleniem, payload jest trwale zapisywany w bazie danych i renderowany jako kod w przeglądarce każdej osoby, która odwiedzi stronę zawierającą komentarze danego użytkownika. Exploit działa pasywnie — ofiara nie musi podejmować żadnego działania poza załadowaniem strony. Mechanizm ten pozwala na przekroczenie granic bezpieczeństwa i wpływa zarówno na zasoby w kontekście atakowanego użytkownika, jak i zasoby systemowe.
Atakujący może przejąć sesję dowolnego użytkownika odwiedzającego stronę z komentarzami, uzyskać dostęp do poufnych danych oraz dokonać nieautoryzowanych modyfikacji treści lub konfiguracji — skutkując wysokim wpływem na poufność i integralność zarówno danych użytkownika, jak i zasobów systemowych.
Należy zaktualizować Decidim do wersji 0.30.5 lub 0.31.1, w których problem został naprawiony. Patche dostępne są w oficjalnym repozytorium GitHub producenta pod adresami wskazanymi w referencjach.
Decidim w wersjach poniżej 0.30.5 oraz wersjach 0.31.0.rc1 do 0.31.0 włącznie
Podatność zgłoszona i udokumentowana w GitHub Security Advisory GHSA-fc46-r95f-hq7g. Pomimo sklasyfikowania CWE jako XSS (CWE-79), w opisie producent wskazuje na 'stored code execution vulnerability', co — w połączeniu z tagiem RCE — sugeruje możliwość wykonania kodu wykraczającego poza standardowy kontekst przeglądarki.
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XDecidim
APPDecidim< 0.30.50.31.0 – 0.31.1 (bez)
Powiązane podatności
Decidim is a participatory democracy framework, written in Ruby on Rails, originally developed for the Barcelo...
Decidim is a participatory democracy framework. Starting in version 0.19.0 and prior to versions 0.30.5 and 0....
Decidim is a participatory democracy framework. In versions from 0.30.0 to before 0.30.4 and from 0.31.0.rc1 t...
Decidim is a participatory democracy framework. The meeting embeds feature used in the online or hybrid meetin...
Decidim is a participatory democracy framework, written in Ruby on Rails, originally developed for the Barcelo...