CI4MS, szkielet CMS oparty na CodeIgniter 4, zawiera podatność na stored XSS (cross-site scripting) umożliwiającą zalogowanemu użytkownikowi wstrzyknięcie złośliwego kodu JavaScript poprzez pole nazwy profilu. Przechowywany payload jest następnie renderowany bez odpowiedniego kodowania wyjściowego w wielu widokach aplikacji, co stanowi poważne zagrożenie dla innych użytkowników systemu.
▸ Pokaż oryginał (EN)
CI4MS is a CodeIgniter 4-based CMS skeleton that delivers a production-ready, modular architecture with RBAC authorization and theme support. Prior to 31.0.0.0, the application fails to properly sanitize user-controlled input when users update their profile name (e.g., full name / username). An attacker can inject a malicious JavaScript payload into their profile name, which is then stored server-side. This stored payload is later rendered unsafely in multiple application views without proper output encoding, leading to stored cross-site scripting (XSS). This vulnerability is fixed in 31.0.0.0.
Aplikacja nie przeprowadza prawidłowej sanityzacji danych wejściowych kontrolowanych przez użytkownika podczas aktualizacji nazwy profilu (np. pełnego imienia i nazwiska lub nazwy użytkownika). Atakujący wstrzykuje złośliwy payload JavaScript w pole nazwy profilu, który jest następnie zapisywany po stronie serwera. Przy każdym wyświetleniu tego profilu lub powiązanych widoków aplikacji, payload jest renderowany bez właściwego output encodingu, co powoduje jego wykonanie w przeglądarce ofiary.
Atakujący może wykonać dowolny kod JavaScript w kontekście przeglądarki innych użytkowników aplikacji, co umożliwia kradzież sesji, przejęcie kont, wyświetlanie fałszywych treści lub przeprowadzanie dalszych ataków na użytkowników oraz systemy powiązane z aplikacją.
Należy zaktualizować CI4MS do wersji 31.0.0.0, w której podatność została naprawiona. Patch dostępny jest w repozytorium producenta zgodnie z referencjami.
CI4MS (Ci4-Cms-Erp Ci4Ms) we wszystkich wersjach poprzedzających 31.0.0.0
Podatność wymaga jedynie niskich uprawnień (zalogowanego użytkownika) i nie wymaga interakcji atakującego po wstrzyknięciu payloadu — każdy użytkownik przeglądający widoki zawierające zainfekowaną nazwę profilu jest narażony na atak.
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/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:XCi4 Cms Erp Ci4ms
APPCi4-Cms-Erp< 0.31.0.0
Powiązane podatności
Stored DOM-based XSS w CI4MS – Menu Management bez sanityzacji danych
Stored XSS w CI4MS — wstrzykiwanie skryptów przez pole tagów bloga
Blind Stored XSS w interfejsie logów CI4MS — atak na administratora
Stored Blind XSS w CI4MS poprzez złośliwą nazwę pliku backup
Stored DOM-based XSS w CI4MS — zarządzanie menu nawigacyjnym