Biblioteka Feathers-Sequelize zawiera podatność w metodzie cleanQuery, która przy użyciu niebezpiecznej logiki rekurencyjnej umożliwia zdalne wykonanie kodu (RCE). Podatność otrzymała maksymalny wynik CVSS 10.0, co czyni ją krytycznym zagrożeniem dla każdej aplikacji opartej na tym komponencie.
▸ Pokaż oryginał (EN)
Feather-Sequalize cleanQuery method uses insecure recursive logic to filter unsupported keys from the query object. This results in a Remote Code Execution (RCE) with privileges of application.
Metoda cleanQuery odpowiedzialna za filtrowanie nieobsługiwanych kluczy z obiektu zapytania implementuje rekurencyjne przetwarzanie danych wejściowych w sposób niebezpieczny. Atakujący może dostarczyć specjalnie spreparowany obiekt zapytania, który wykorzystuje tę wadę do wykonania dowolnego kodu po stronie serwera. Atak nie wymaga uwierzytelnienia, interakcji użytkownika ani szczególnych uprawnień, a jego skutki wykraczają poza zakres bezpośredniej aplikacji (Scope: Changed).
Atakujący może zdalnie wykonać dowolny kod z uprawnieniami procesu aplikacji, co potencjalnie prowadzi do pełnego przejęcia serwera, wycieku danych, modyfikacji zasobów oraz dalszego ruchu bocznego (lateral movement) w sieci.
Należy zastosować patche dostępne u producenta zgodnie z referencjami (https://csirt.divd.nl/DIVD-2022-00020). Zaleca się niezwłoczną aktualizację biblioteki Feathers-Sequelize do wersji wolnej od podatności oraz weryfikację, czy aplikacja nie przyjmuje niefiltrowanych danych wejściowych użytkownika przekazywanych do metody cleanQuery.
Produkt Feathers-Sequelize (feathersjs/feathers-sequelize) — konkretne podatne wersje wskazane w referencjach producenta (DIVD-2022-00020).
Podatność została zgłoszona i opublikowana przez DIVD CSIRT w ramach sprawy DIVD-2022-00020. CWE-1321 (Prototype Pollution) wskazuje na technikę zanieczyszczenia prototypu jako mechanizm leżący u podstaw podatności.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HFeathersjs Feathers Sequelize
APPFeathersjs6.0.0 – 6.3.4 (bez)
Powiązane podatności
SQL injection w Feathers.js poprzez brak walidacji danych wejściowych
SQL Injection w bibliotece Feathers-Sequelize przez nieprawidłowe filtrowanie parametrów
Feathers.js: pominięcie uwierzytelnienia OAuth umożliwia przejęcie konta
Feathers.js – wstrzyknięcie operatorów MongoDB przez Socket.IO (NoSQL Injection)
Feathersjs is a framework for creating web APIs and real-time applications with TypeScript or JavaScript. Vers...