Podatność w middleware uwierzytelniania API systemu ChurchCRM (plik AuthMiddleware.php) umożliwia nieuwierzytelnionemu atakującemu ominięcie mechanizmów kontroli dostępu. Skutkuje to pełnym dostępem do chronionych endpointów API i ujawnieniem danych wszystkich członków kościoła oraz informacji o systemie.
▸ Pokaż oryginał (EN)
ChurchCRM is an open-source church management system. Prior to 7.1.0, a critical authentication bypass vulnerability in ChurchCRM's API middleware (ChurchCRM/Slim/Middleware/AuthMiddleware.php) allows unauthenticated attackers to access all protected API endpoints by including "api/public" anywhere in the request URL, leading to complete exposure of church member data and system information. This vulnerability is fixed in 7.1.0.
Middleware odpowiedzialny za uwierzytelnianie żądań API sprawdza obecność ciągu znaków 'api/public' w adresie URL żądania. Atakujący może umieścić ten ciąg w dowolnym miejscu URL — nawet w żądaniu kierowanym do chronionych endpointów — co powoduje, że middleware błędnie traktuje żądanie jako publiczne i pomija weryfikację tożsamości użytkownika. Podatność nie wymaga żadnych uprawnień, interakcji użytkownika ani szczególnych warunków sieciowych (wektor sieciowy, niska złożoność ataku).
Atakujący uzyskuje nieautoryzowany dostęp do wszystkich chronionych endpointów API, co prowadzi do pełnego ujawnienia danych osobowych i kontaktowych członków kościoła oraz informacji konfiguracyjnych systemu. Możliwa jest również nieuprawniona modyfikacja danych (wysoki wpływ na integralność).
Należy zaktualizować ChurchCRM do wersji 7.1.0 lub nowszej, w której podatność została naprawiona. Szczegóły dostępne w referencjach producenta (GitHub Security Advisory GHSA-v3p2-mx78-pxhc).
ChurchCRM we wszystkich wersjach wcześniejszych niż 7.1.0
Podatność dotyczy pliku ChurchCRM/Slim/Middleware/AuthMiddleware.php. Fix został wprowadzony w wersji 7.1.0 zgodnie z oficjalnym security advisory na GitHub.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NChurchcrm
APPChurchcrm< 7.1.0
Powiązane podatności
SQL Injection w ChurchCRM przez parametr searchwhat (QueryView.php)
ChurchCRM: pre-auth RCE przez wstrzyknięcie kodu PHP w kreatorze instalacji
ChurchCRM: Path Traversal i RCE przez funkcję przywracania kopii zapasowej
ChurchCRM: ujawnienie danych logowania do bazy danych w komunikacie błędu
Stored XSS w ChurchCRM — przejęcie konta przez nazwy ról grup