W systemie ChurchCRM w wersji 6.4.0 i wcześniejszych istnieje podatność typu stored XSS, umożliwiająca użytkownikowi z niskimi uprawnieniami wstrzyknięcie trwałego złośliwego kodu JavaScript do nazw ról w grupach. Zagrożenie jest krytyczne, ponieważ payload jest zapisywany w bazie danych i wykonywany automatycznie w przeglądarce każdego użytkownika — w tym administratorów — który odwiedzi stronę wyświetlającą daną rolę.
▸ Pokaż oryginał (EN)
ChurchCRM is an open-source church management system. A stored cross-site scripting (XSS) vulnerability exists in ChurchCRM versions 6.4.0 and prior that allows a low-privilege user with the “Manage Groups” permission to inject persistent JavaScript into group role names. The payload is saved in the database and executed whenever any user (including administrators) views a page that displays that role, such as GroupView.php or PersonView.php. This allows full session hijacking and account takeover. As of time of publication, no known patched versions are available.
Atakujący posiadający uprawnienie 'Manage Groups' tworzy lub edytuje nazwę roli w grupie, wstrzykując w jej pole złośliwy kod JavaScript. Payload jest zapisywany w bazie danych, a następnie renderowany bez odpowiedniego oczyszczania na stronach takich jak GroupView.php lub PersonView.php. Każdy użytkownik, który wyświetli tę stronę, nieświadomie wykonuje złośliwy skrypt we własnej przeglądarce. W ten sposób atakujący może przejąć sesję ofiary, w tym sesję administratora systemu.
Atakujący może dokonać pełnego przejęcia sesji (session hijacking) oraz przejąć konto dowolnego użytkownika, który wyświetli zainfekowaną stronę, łącznie z kontami administratorów. Możliwe jest również wykonywanie działań w kontekście ofiary, kradzież poświadczeń i danych przechowywanych w systemie.
W momencie publikacji podatności brak jest dostępnych wersji z poprawką. Należy monitorować repozytorium producenta pod adresem https://github.com/ChurchCRM/CRM oraz zastosować łatkę niezwłocznie po jej udostępnieniu. Tymczasowo zaleca się odebranie użytkownikom z niskim poziomem uprawnień możliwości zarządzania grupami ('Manage Groups') oraz ścisłą weryfikację i ograniczenie liczby osób posiadających to uprawnienie.
ChurchCRM w wersji 6.4.0 i wcześniejszych
Zgodnie z opisem w momencie publikacji (2025-12-17) nie istnieje żadna załatana wersja oprogramowania. Podatność została zgłoszona i udokumentowana w ramach GitHub Security Advisory GHSA-j9gv-26c7-3qrh.
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:XChurchcrm
APPChurchcrm≤ 6.4.0
Powiązane podatności
ChurchCRM — krytyczny auth bypass w API middleware
SQL Injection w ChurchCRM przez parametr searchwhat (QueryView.php)
ChurchCRM: Path Traversal i RCE przez funkcję przywracania kopii zapasowej
ChurchCRM: pre-auth RCE przez wstrzyknięcie kodu PHP w kreatorze instalacji
SQL Injection w ChurchCRM — kompromitacja bazy danych