Biblioteka Sequelize.js (ORM dla Node.js) zawiera podatność umożliwiającą przeprowadzenie ataku typu injection z powodu niewłaściwego filtrowania parametrów wejściowych. Wysoki wynik CVSS (9.9) wskazuje na krytyczne zagrożenie dla integralności, poufności i dostępności systemu.
▸ Pokaż oryginał (EN)
Due to improper parameter filtering in the sequalize js library, can a attacker peform injection.
Podatność wynika z nieprawidłowej obsługi i filtrowania parametrów przekazywanych do biblioteki Sequelize.js. Atakujący z dostępem do konta (nawet o niskich uprawnieniach) może przesłać specjalnie spreparowane dane wejściowe, które nie są odpowiednio walidowane i sanityzowane. Skutkuje to wykonaniem niezamierzonych operacji po stronie bazy danych lub systemu. CWE-843 (Type Confusion) sugeruje, że biblioteka błędnie interpretuje typ przekazanych danych, co prowadzi do niebezpiecznego przetwarzania.
Atakujący może uzyskać nieautoryzowany dostęp do danych, manipulować nimi lub doprowadzić do niedostępności systemu — podatność obejmuje pełne naruszenie poufności, integralności i dostępności zasobów, w tym potencjalnie zasobów poza bezpośrednim kontekstem aplikacji (scope: Changed).
Należy zastosować patche dostępne u producenta zgodnie z referencjami (https://csirt.divd.nl/DIVD-2022-00020/). Dodatkowo zaleca się rygorystyczną walidację i sanityzację wszelkich danych wejściowych przekazywanych do zapytań Sequelize oraz ograniczenie uprawnień użytkowników bazy danych do niezbędnego minimum.
Biblioteka Sequelizejs Sequelize — dokładne wersje wskazane w referencjach producenta (DIVD-2022-00020).
Podatność została zgłoszona i opublikowana przez holenderski CSIRT DIVD w ramach sprawy DIVD-2022-00020.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HSequelizejs Sequelize
APPSequelizejs7.0.0< 6.28.1
Powiązane podatności
SQL Injection w Sequelize ORM przez mechanizm replacements
SQL Injection w bibliotece Sequelize (brak filtrowania atrybutów)
SQL Injection w bibliotece Sequelize — brak sanityzacji kluczy JSON path (PostgreSQL)
SQL Injection w Sequelize przez nieprawidłowe eskejpowanie kluczy JSON path
SQL Injection w Sequelize przez funkcję pomocniczą sequelize.json()