Podatność w module Snuffleupagus (przed wersją 0.13.0) powoduje, że wszystkie pliki przesłane w żądaniach multipart POST są interpretowane i wykonywane jako kod PHP. Jest to szczególnie niebezpieczne, ponieważ Snuffleupagus jest narzędziem mającym chronić aplikacje webowe — błąd w jego konfiguracji prowadzi do Remote Code Execution.
▸ Pokaż oryginał (EN)
Snuffleupagus is a module that raises the cost of attacks against website by killing bug classes and providing a virtual patching system. On deployments of Snuffleupagus prior to version 0.13.0 with the non-default upload validation feature enabled and configured to use one of the upstream validation scripts based on Vulcan Logic Disassembler (VLD) while the VLD extension is not available to the CLI SAPI, all files from multipart POST requests are evaluated as PHP code. The issue was fixed in version 0.13.0.
Problem pojawia się wyłącznie wtedy, gdy włączona jest niestandardowa funkcja walidacji plików upload, skonfigurowana z użyciem jednego ze skryptów walidacyjnych opartych na Vulcan Logic Disassembler (VLD), a sam moduł VLD nie jest dostępny w kontekście CLI SAPI. W takiej sytuacji logika walidacji nie może poprawnie zweryfikować przesłanego pliku i — zamiast odrzucić plik lub zwrócić błąd — przekazuje jego zawartość do wykonania jako kod PHP. Atakujący może więc przesłać specjalnie spreparowany plik zawierający złośliwy kod PHP i doprowadzić do jego uruchomienia po stronie serwera.
Atakujący nieuwierzytelniony zdalnie może osiągnąć pełne zdalne wykonanie kodu (RCE) na serwerze, co w konsekwencji może prowadzić do przejęcia kontroli nad aplikacją, kradzieży danych lub dalszego ruchu bocznego (lateral movement) w infrastrukturze.
Należy zaktualizować Snuffleupagus do wersji 0.13.0, w której problem został naprawiony. Jako obejście tymczasowe można wyłączyć funkcję walidacji plików upload opartą na skryptach VLD lub zapewnić dostępność rozszerzenia VLD w CLI SAPI.
Snuffleupagus w wersjach wcześniejszych niż 0.13.0, wyłącznie gdy aktywna jest niestandardowa funkcja walidacji plików upload oparta na skryptach VLD, a rozszerzenie VLD nie jest dostępne w CLI SAPI.
Podatność dotyczy wyłącznie konfiguracji niestandardowej (non-default). Poprawka dostępna w commicie 9278dc77 w repozytorium projektu na GitHub.
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XJvoisin Snuffleupagus
APPJvoisin< 0.13.0