W systemie ChurchCRM przed wersją 6.5.3 istnieje podatność typu path traversal w module przywracania kopii zapasowych, umożliwiająca uwierzytelnionemu administratorowi przesyłanie dowolnych plików na serwer. Skutkiem może być zdalne wykonanie kodu (RCE) poprzez nadpisanie pliku konfiguracyjnego Apache .htaccess.
▸ Pokaż oryginał (EN)
ChurchCRM is an open-source church management system. Prior to 6.5.3, a path traversal vulnerability in ChurchCRM's backup restore functionality allows authenticated administrators to upload arbitrary files and achieve remote code execution by overwriting Apache .htaccess configuration files. The vulnerability exists in src/ChurchCRM/Backup/RestoreJob.php. The $rawUploadedFile['name'] parameter is user-controlled and allows uploading files with arbitrary names to /var/www/html/tmp_attach/ChurchCRMBackups/. This vulnerability is fixed in 6.5.3.
Podatność znajduje się w pliku src/ChurchCRM/Backup/RestoreJob.php, gdzie parametr $rawUploadedFile['name'] jest w całości kontrolowany przez użytkownika. Brak odpowiedniej walidacji nazwy pliku pozwala atakującemu na przesłanie pliku z dowolną ścieżką do katalogu /var/www/html/tmp_attach/ChurchCRMBackups/. Poprzez sekwencje path traversal możliwe jest nadpisanie pliku .htaccess Apache, co prowadzi do modyfikacji konfiguracji serwera i finalnie do zdalnego wykonania kodu.
Atakujący z uprawnieniami administratora może uzyskać pełną kontrolę nad serwerem poprzez zdalne wykonanie kodu (RCE), a także naruszyć poufność, integralność i dostępność systemu.
Należy zaktualizować ChurchCRM do wersji 6.5.3 lub nowszej, w której podatność została naprawiona. Zgodnie z referencjami producenta dostępne jest bezpośrednio w repozytorium GitHub projektu.
ChurchCRM we wszystkich wersjach przed 6.5.3
Podatność wymaga posiadania uprawnień administratora (PR:H), co ogranicza powierzchnię ataku. Mimo to wpływ jest krytyczny ze względu na możliwość nadpisania konfiguracji Apache i uzyskania RCE. Podatność została ujawniona i naprawiona w wersji 6.5.3.
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:HChurchcrm
APPChurchcrm< 6.5.3
Powiązane podatności
SQL Injection w ChurchCRM przez parametr searchwhat (QueryView.php)
ChurchCRM — krytyczny auth bypass w API middleware
ChurchCRM: pre-auth RCE przez wstrzyknięcie kodu PHP w kreatorze instalacji
ChurchCRM: ujawnienie danych logowania do bazy danych w komunikacie błędu
Stored XSS w ChurchCRM — przejęcie konta przez nazwy ról grup