CVE-2026-30951
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 34 - wyżej niż 34% wszystkich znanych CVE
Streszczenie
Sequelize przed wersją 6.37.8 zawiera podatność na wstrzykiwanie SQL przez nieskape'owany typ rzutowania w przetwarzaniu klauzul WHERE dla kolumn JSON/JSONB. Funkcja _traverseJSON() dzieli klucze ścieżki JSON na podstawie '::' w celu wyodrębnienia typu rzutowania, który jest następnie interpolowany bezpośrednio do zapytania SQL CAST(... AS <type>). Atakujący kontrolujący klucze obiektów JSON może wstrzyknąć dowolny kod SQL i wyciec dane z dowolnej tabeli.
Ocena ryzyka
Organizacja narażona jest na pełny wyciek danych z bazy danych, w tym poufnych informacji klientów, danych uwierzytelniających lub innych wrażliwych rekordów, co może prowadzić do naruszenia zgodności z przepisami (np. RODO) i utraty zaufania.
Rekomendacja
Niezwłocznie zaktualizuj Sequelize do wersji 6.37.8 lub nowszej. Jeśli aktualizacja nie jest możliwa, tymczasowo ogranicz dostęp do aplikacji i dokładnie waliduj dane wejściowe użytkownika przekazywane do zapytań JSON.
Inne podatności w Sequelize
Zobacz wszystkie- CVE-2015-1369Wysokie
Podatność na wstrzykiwanie SQL w Sequelize przed wersją 2.0.0-rc7 dla Node.js umożliwia zdalnym atakującym wykonywanie dowolnych poleceń SQL za pomocą parametru 'order'.
- CVE-2026-69240Krytyczne
Sequelize, narzędzie ORM dla Node.js, jest podatne na iniekcję SQL w dialekcie Oracle. Funkcja escape nie zabezpiecza cytatów, gdy wartość zaczyna się od TO_TIMESTAMP lub TO_DATE, co pozwala na wstrzyknięcie dowolnego kodu SQL.
Oryginalny opis (angielski, źródło NVD)
Sequelize is a Node.js ORM tool. Prior to 6.37.8, there is SQL injection via unescaped cast type in JSON/JSONB where clause processing. The _traverseJSON() function splits JSON path keys on :: to extract a cast type, which is interpolated raw into CAST(... AS <type>) SQL. An attacker who controls JSON object keys can inject arbitrary SQL and exfiltrate data from any table. This vulnerability is fixed in 6.37.8.

