W Mautic 7 wykryto podatność typu path traversal w funkcji importu kampanii, pozwalającą uwierzytelnionemu użytkownikowi na zapis dowolnych plików PHP poza przeznaczonym katalogiem tymczasowym. Luka jest krytyczna, ponieważ prowadzi do Remote Code Execution w kontekście użytkownika serwera WWW.
▸ Pokaż oryginał (EN)
A path traversal vulnerability exists in the campaign import feature of Mautic 7. When extracting uploaded ZIP files during campaign imports, a flaw in the validation logic allows file paths to escape the intended temporary directories. An authenticated user with campaign import privileges (campaign:imports:create) can write arbitrary PHP files to sensitive system directories. An attacker can exploit this to overwrite critical internal configuration or cache components, resulting in Remote Code Execution (RCE) under the context of the web server user.
Podczas importu kampanii aplikacja rozpakowuje przesłany plik ZIP do tymczasowego katalogu. Błąd w logice walidacji ścieżek pozwala na użycie sekwencji path traversal (np. '../'), które umożliwiają plikowi wewnątrz archiwum ZIP ucieczkę poza docelowy katalog tymczasowy. Atakujący może w ten sposób zapisać dowolny plik PHP w newralgicznych katalogach systemowych — np. nadpisując pliki konfiguracyjne lub składniki cache. Po zapisaniu złośliwego pliku możliwe jest jego zdalne wykonanie przez serwer WWW, co prowadzi do pełnego RCE.
Atakujący uzyskuje możliwość zdalnego wykonania kodu (RCE) w kontekście użytkownika serwera WWW, co może prowadzić do pełnego przejęcia kontroli nad serwerem, wycieku danych oraz naruszenia integralności i dostępności systemu.
Należy zastosować patche dostępne u producenta zgodnie z referencjami (https://github.com/mautic/mautic/security/advisories/GHSA-6r9h-4h75-7q4x). Do czasu zastosowania łatki zaleca się ograniczenie lub wyłączenie uprawnień campaign:imports:create dla nieupoważnionych użytkowników oraz monitorowanie prób przesyłania plików ZIP w module importu kampanii.
Mautic 7 — użytkownicy posiadający uprawnienia do importu kampanii (campaign:imports:create). Szczegółowe informacje o wersjach podane są w referencjach producenta.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H