Podatność w MikoPBX (wersje do 2024.1.114 włącznie) pozwala uwierzytelnionemu atakującemu na wgranie złośliwego skryptu PHP do dowolnego katalogu na serwerze. Stanowi to poważne zagrożenie, ponieważ może prowadzić do pełnego przejęcia kontroli nad systemem.
▸ Pokaż oryginał (EN)
PBXCoreREST/Controllers/Files/PostController.php in MikoPBX through 2024.1.114 allows uploading a PHP script to an arbitrary directory.
Plik PBXCoreREST/Controllers/Files/PostController.php nie weryfikuje prawidłowo ścieżki docelowej przy przesyłaniu plików, co jest klasycznym przykładem podatności path traversal (CWE-23). Atakujący z podstawowymi uprawnieniami (PR:L) może przesłać plik PHP ze spreparowaną ścieżką, umieszczając go poza dozwolonym katalogiem – w tym w lokalizacjach dostępnych przez serwer WWW. Po wgraniu pliku możliwe jest jego zdalne wykonanie przez przeglądarkę lub żądanie HTTP, co skutkuje uruchomieniem kodu po stronie serwera.
Atakujący może uzyskać możliwość zdalnego wykonania kodu (RCE) na serwerze hostującym MikoPBX, a w konsekwencji pełne przejęcie systemu, wykradnięcie danych konfiguracyjnych i podsłuch komunikacji VoIP. Scope podatności jest zmieniony (S:C), co oznacza możliwość oddziaływania poza bezpośredni komponent aplikacji.
Należy zaktualizować MikoPBX do wersji zawierającej poprawkę wprowadzoną w commicie 3ee785429d3f1b33c9ab387ef4221127c9b8c5f3 dostępnym w repozytorium GitHub projektu. Do czasu wdrożenia patcha zaleca się ograniczenie dostępu do interfejsu REST API wyłącznie do zaufanych sieci oraz monitorowanie katalogów serwera pod kątem nieoczekiwanych plików PHP.
MikoPBX w wersjach do 2024.1.114 włącznie.
Poprawka została opublikowana w repozytorium GitHub projektu MikoPBX pod adresem wskazanym w referencjach (commit 3ee785429d3f1b33c9ab387ef4221127c9b8c5f3).
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:L