CVE-2026-40480
WysokieStreszczenie
ChurchCRM przed wersją 7.2.0 ma podatność związaną z brakiem autoryzacji na poziomie obiektów w punkcie końcowym GET /api/person/{personId}. Każdy uwierzytelniony użytkownik z uprawnieniami EditSelf może wyliczać i czytać rekordy innych członków, ujawniając wrażliwe dane osobowe, takie jak imiona, adresy, numery telefonów i adresy e-mail.
Ocena ryzyka
Ryzyko obejmuje nieautoryzowany dostęp do danych osobowych członków, co może naruszać prywatność i przepisy RODO.
Rekomendacja
Zaleca się aktualizację do wersji 7.2.0, która zawiera poprawkę, oraz wdrożenie kontroli dostępu na poziomie obiektów.
Inne podatności w ChurchCRM
Zobacz wszystkie- CVE-2026-44548Wysokie
ChurchCRM to system zarządzania kościołem typu open-source. Przed wersją 7.3.2, atakujący mógł wykorzystać nawigację GET z zewnętrznej strony do FundRaiserDelete.php, PropertyTypeDelete.php lub NoteDelete.php, co pozwalało na ciche usunięcie rekordów przez zalogowanego użytkownika z odpowiednią rolą.
- CVE-2026-40482Wysokie
ChurchCRM przed wersją 7.2.0 ma podatność SQL Injection w funkcji FinancialService::getMemberByScanString() z powodu niesanityzowanego parametru $routeAndAccount sklejanego z surowym SQL. Problem został naprawiony w wersji 7.2.0.
- CVE-2026-58409Krytyczne
W systemie ChurchCRM przed wersją 7.4.0 uwierzytelniony administrator może zdalnie wykonać kod na serwerze poprzez instalację złośliwego archiwum ZIP wtyczki zawierającego webshell PHP. Aplikacja jawnie dodaje 'php' do listy dozwolonych rozszerzeń, a lista zabronionych rozszerzeń nie blokuje standardowych plików .php, co umożliwia bezpośrednie wykonanie kodu przez HTTP po rozpakowaniu plików w katalogu web root.
- CVE-2026-44547Krytyczne
ChurchCRM to system zarządzania kościołem typu open-source. W wersjach od 7.2.0 do 7.2.2 poprawka dla CVE-2026-4058 jest niekompletna, co pozwala na wykorzystanie tej podatności.
- CVE-2026-42288Krytyczne
ChurchCRM to system zarządzania kościołem typu open-source. W wersjach przed 7.3.2 poprawka dla CVE-2026-39337 jest niekompletna, co pozwala na zdalne wykonanie kodu przed uwierzytelnieniem poprzez nieoczyszczoną zmienną DB_PASSWORD.
- CVE-2026-40582Krytyczne
W ChurchCRM przed wersją 7.2.0, punkt /api/public/user/login waliduje tylko nazwę użytkownika i hasło, pomijając blokadę konta i weryfikację dwuskładnikową. Atakujący ze znajomością hasła może uzyskać dostęp do API nawet przy zablokowanym koncie lub włączonym 2FA.
- CVE-2025-68112Krytyczne
ChurchCRM przed wersją 6.5.3 zawiera podatność na wstrzykiwanie SQL w edytorze uczestników wydarzeń. Uwierzytelniony użytkownik może wykonywać dowolne polecenia SQL, co prowadzi do pełnej kompromitacji bazy danych, kradzieży danych uwierzytelniających administratora i potencjalnego przejęcia systemu. Atakujący może wyodrębnić wrażliwe dane członków, poświadczenia i informacje finansowe. Wersja 6.5.3 zawiera poprawkę.
- CVE-2025-68110Krytyczne
ChurchCRM przed wersją 6.5.3 może ujawniać informacje o bazie danych w komunikatach błędów, w tym host, IP, nazwę użytkownika i hasło. Wersja 6.5.3 naprawia ten problem.
- CVE-2025-68109Krytyczne
ChurchCRM przed wersją 6.5.3 w funkcji przywracania bazy danych nie waliduje zawartości ani rozszerzenia przesyłanych plików. Atakujący może przesłać plik web shell, a następnie plik .htaccess, aby uzyskać do niego bezpośredni dostęp. Po uzyskaniu dostępu web shell umożliwia zdalne wykonanie kodu (RCE) na serwerze. Wersja 6.5.3 naprawia problem.
- CVE-2025-62521Krytyczne
ChurchCRM przed wersją 5.21.0 zawiera podatność na zdalne wykonanie kodu przed uwierzytelnieniem w kreatorze instalacji. Nieuwierzytelniony atakujący może wstrzyknąć dowolny kod PHP podczas procesu instalacji, co prowadzi do całkowitego przejęcia serwera. Problem wynika z bezpośredniego łączenia danych wejściowych z formularza instalacyjnego z szablonem konfiguracji PHP bez walidacji.
Oryginalny opis (angielski, źródło NVD)
ChurchCRM is an open-source church management system. In versions prior to 7.2.0, the GET /api/person/{personId} endpoint loads and returns person records without performing object-level authorization checks. Although the legacy PersonView.php page enforces canEditPerson() restrictions, the API layer omits this check. Any authenticated user with only EditSelf privileges can enumerate and read other members' records, exposing sensitive PII including names, addresses, phone numbers, and email addresses. This issue has been fixed in version 7.2.0.

