CVE-2026-44282
ŚrednieCVSS 4.8Streszczenie
W frameworku Decidim przed wersją 0.32.0 administrator o niskich uprawnieniach w zakresie procesu lub edytor wyborów z prawami do zarządzania pytaniami może zapisać treść zawierającą HTML lub skrypty w polu question.body. Helper question_title zwraca tłumaczalną treść pytania przez html_safe bez granicy sanityzacji, co powoduje wykonanie zapisanego skryptu, gdy odwiedzający otwierają publiczne strony wyborów lub ekrany lokali wyborczych. Skrypt wykonuje się w przeglądarkach odwiedzających.
Ocena ryzyka
Zapisz XSS może prowadzić do wykonania złośliwego kodu w przeglądarkach odwiedzających publiczne strony wyborów, umożliwiając kradzież sesji lub inne ataki na użytkowników.
Rekomendacja
Zaktualizuj Decidim do wersji 0.32.0 lub nowszej, aby naprawić brak sanityzacji w helperze question_title.
Inne podatności w Decidim
Zobacz wszystkie- CVE-2026-45573Średnie
Przed wersjami 0.30.9, 0.31.5 i 0.32.0.rc2, gdy dostarczanie VAPID jest włączone, przepływ subskrypcji powiadomień przechowuje dostarczony przez klienta endpoint push bez weryfikacji, czy należy on do zatwierdzonej usługi push. SendPushNotification przekazuje ten endpoint do WebPush.payload_send, co pozwala uwierzytelnionemu użytkownikowi na tworzenie przechowywanych, w większości ślepych żądań serwerowych do dowolnych osiągalnych endpointów HTTPS. Problem naprawiono w wersjach 0.30.9, 0.31.5 i 0.32.0.rc2.
- CVE-2026-45572Średnie
Przed wersjami 0.30.9, 0.31.5 i 0.32.0.rc2 administrator z uprawnieniami do edycji strony docelowej może przechowywać dowolny HTML i JavaScript w bloku treści HTML, który jest renderowany bez sanityzacji przez Decidim::ContentBlocks::HtmlCell#html_content, powodując wykonanie skryptu w przeglądarkach odwiedzających. Problem naprawiono w wersjach 0.30.9, 0.31.5 i 0.32.0.rc2.
- CVE-2026-45415Średnie
Przed wersjami 0.30.9, 0.31.5 i 0.32.0.rc2 endpointy `/admin/csv_census/census_logs` nie egzekwują pełnej autoryzacji administratora przed renderowaniem lub modyfikacją rekordów Decidim::Verifications::CsvDatum, co pozwala menedżerowi uczestników na tworzenie, zmianę lub usuwanie rekordów spisu. Problem naprawiono w wersjach 0.30.9, 0.31.5 i 0.32.0.rc2.
- CVE-2026-45414Wysokie
Decidim przed wersją 0.31.5 oraz w 0.32.0.rc1 przed 0.32.0.rc2, uwierzytelnianie API oparte na JWT nie jest powiązane z organizacją wybraną przez bieżący host, co pozwala na powtórne użycie JWT wydanego dla jednej dzierżawy (tenanta) przeciwko API innej dzierżawy w celu odczytania danych `participantDetails` i dotarcia do ścieżki mutacji `proposal.answer`.
- CVE-2026-45378Wysokie
Decidim przed wersją 0.30.9, od 0.31.0 przed 0.31.5 oraz w 0.32.0.rc1 przed 0.32.0.rc2, interfejs administracyjny weryfikacji dokumentów tożsamości osadza załączniki `verification_attachment` przez wielokrotnego użytku podpisane URL-e Active Storage, co pozwala każdemu, kto uzyska URL, na pobranie zeskanowanego dokumentu bez uwierzytelnionej sesji Decidim, dopóki podpis nie wygaśnie. Obrazy dokumentów weryfikacyjnych są renderowane za pomocą `variant_url(...)`, co generuje podpisane linki `/rails/active_storage/disk/...` zamiast kierować plik przez kontroler sprawdzający autoryzację. Ponieważ Decidim konfiguruje URL-e usługi Active Storage tak, aby pozostawały ważne przez siedem dni, sam URL staje się poświadczeniem na ten okres.
- CVE-2026-45377Średnie
Platforma Decidim przed wersjami 0.30.9, 0.31.5 i 0.32.0.rc2 zawiera podatność. Proces pobierania danych (download_your_data) wymaga uwierzytelnienia, ale wygenerowany URL przekierowania do pliku Active Storage może być odtworzony bez uwierzytelnienia przez każdego, kto go zdobędzie.
- CVE-2026-45376Średnie
Platforma Decidim przed wersjami 0.30.9, 0.31.5 i 0.32.0.rc2 zawiera podatność. Zapytanie GET /admin/organization/users search interpoluje parametr params[:term] do wyrażenia Arel.sql ORDER BY similarity przed sanityzacją, co pozwala uwierzytelnionemu administratorowi organizacji na wykonanie ślepych wyrażeń PostgreSQL i inferowanie danych przez różnice czasowe.
- CVE-2026-45330Średnie
Platforma Decidim przed wersjami 0.30.9, 0.31.5 i 0.32.0.rc2 zawiera podatność. Kontrolery administracyjne weryfikacji dokumentów tożsamości ładują rekordy Authorization na podstawie surowego identyfikatora bez potwierdzenia własności current_organization, co pozwala administratorowi z jednej instancji na przeglądanie, zatwierdzanie lub odrzucanie żądań dokumentów tożsamości innej instancji.
- CVE-2026-45086Średnie
W Decidim w wersjach od 0.31.1 do 0.31.4 oraz 0.32.0.rc1, zwykły uczestnik może uzyskać dostęp do edytora kwestionariuszy demograficznych pod ścieżką /admin/demographics/questions/edit_questions bez wymaganej autoryzacji administratora. Brakuje sprawdzenia uprawnień administratora dla tej trasy.
Oryginalny opis (angielski, źródło NVD)
Decidim is a participatory democracy framework. Prior to 0.32.0, a low-privilege process-scoped administrator or election editor with question-management rights can store HTML or script-bearing content in question.body. The question_title helper returns the translatable question body through html_safe without a sanitization boundary, causing stored script execution when visitors open public election pages or voting booth screens. The persisted script executes in visitors' browsers. The vulnerability is fixed in 0.32.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

