Biblioteka robinweser fast-loops w wersji 1.1.3 zawiera podatność typu prototype pollution w funkcji objectMergeDeep. Luka otrzymała maksymalny wynik CVSS 10.0, co czyni ją krytycznym zagrożeniem umożliwiającym zdalne wykonanie kodu lub wywołanie odmowy usługi bez jakiegokolwiek uwierzytelnienia.
▸ Pokaż oryginał (EN)
robinweser fast-loops v1.1.3 was discovered to contain a prototype pollution via the function objectMergeDeep. This vulnerability allows attackers to execute arbitrary code or cause a Denial of Service (DoS) via injecting arbitrary properties.
Atakujący może wstrzyknąć dowolne właściwości do prototypu obiektu JavaScript poprzez podatną funkcję objectMergeDeep. Mechanizm prototype pollution polega na manipulacji właściwością __proto__ lub constructor obiektu, co prowadzi do zanieczyszczenia globalnego prototypu i wpływa na zachowanie wszystkich obiektów w aplikacji. Pozwala to na wykonanie arbitralnego kodu lub zakłócenie działania aplikacji.
Atakujący może zdalnie wykonać arbitralny kod na serwerze (RCE) lub spowodować odmowę usługi (DoS) poprzez wstrzyknięcie złośliwych właściwości do prototypu. Ze względu na sieciowy charakter ataku (bez wymaganych uprawnień i interakcji użytkownika) oraz pełny wpływ na poufność, integralność i dostępność, skutki mogą objąć całkowite przejęcie kontroli nad systemem.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Rekomenduje się aktualizację biblioteki fast-loops do wersji wyższej niż 1.1.3 oraz weryfikację wszystkich miejsc w kodzie aplikacji, w których używana jest funkcja objectMergeDeep z danymi zewnętrznymi.
Biblioteka robinweser fast-loops w wersji 1.1.3
Dowód koncepcji (proof-of-concept) podatności został opublikowany w serwisie GitHub Gist przez użytkownika mestrtee.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H