W aplikacji CI4MS opartej na frameworku CodeIgniter 4 odkryto podatność typu stored XSS w module zarządzania menu nawigacyjnym. Brak właściwego kodowania danych wyjściowych powoduje, że złośliwy payload przechowywany po stronie serwera jest następnie renderowany w interfejsach administracyjnych oraz publicznych menu nawigacyjnych, co czyni tę podatność szczególnie groźną.
▸ 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 version 0.31.0.0, the application fails to properly sanitize user-controlled input when adding Pages to navigation menus through the Menu Management functionality. Page-related data selected via the Pages section is stored server-side and rendered without proper output encoding. This stored payload is later rendered unsafely within administrative interfaces and public-facing navigation menus, leading to stored DOM-based cross-site scripting (XSS). This issue has been patched in version 0.31.0.0.
Aplikacja nie sanityzuje poprawnie danych kontrolowanych przez użytkownika podczas dodawania stron do menu nawigacyjnego za pośrednictwem funkcji Menu Management. Dane powiązane ze stronami są zapisywane po stronie serwera bez walidacji, a następnie renderowane bez odpowiedniego output encoding. W efekcie złośliwy payload jest trwale przechowywany w systemie i wykonywany jako stored DOM-based XSS przy każdym wyświetleniu dotkniętego widoku — zarówno w panelu administracyjnym, jak i w publicznych menu nawigacyjnych.
Atakujący z prawem do zarządzania menu może wstrzyknąć trwały złośliwy skrypt JavaScript, który będzie wykonywany w przeglądarkach innych użytkowników — w tym administratorów — co może prowadzić do kradzieży sesji, przechwycenia danych uwierzytelniających lub wykonania nieautoryzowanych akcji w imieniu ofiary.
Należy zaktualizować CI4MS do wersji 0.31.0.0, w której problem został naprawiony. Szczegóły dostępne w referencjach producenta: https://github.com/ci4-cms-erp/ci4ms/releases/tag/0.31.0.0
CI4MS (Ci4-Cms-Erp/Ci4Ms) we wszystkich wersjach przed 0.31.0.0
Podatność wymaga posiadania uprawnień do zarządzania menu (PR:L w wektorze CVSS), jednak zakres ataku obejmuje inne systemy/użytkowników (S:C), co uzasadnia ocenę CRITICAL 9.1. Poprawka została wydana w wersji 0.31.0.0.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:LCi4 Cms Erp Ci4ms
APPCi4-Cms-Erp< 0.31.0.0
Powiązane podatności
Stored XSS w CI4MS — złośliwy skrypt w nazwie profilu użytkownika
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