CVE-2026-69240
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 33 - wyżej niż 33% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może wykonać nieautoryzowane zapytania SQL do bazy danych Oracle, co może prowadzić do wycieku lub modyfikacji danych.
Rekomendacja
Zaktualizuj Sequelize do wersji 6.37.4 lub nowszej.
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-30951Wysokie
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.
Oryginalny opis (angielski, źródło NVD)
Sequelize is a Node.js ORM tool. Prior to 6.37.4, SQL injection is possible with strings only if dialect is set to oracle. The escape function defined in sql-string.js does not escape quotes if the value starts with TO_TIMESTAMP or TO_DATE. In the Oracle dialect, when val is a string and starts with TO_TIMESTAMP or TO_DATE, escape returns val directly instead of replacing single quotes. An attacker can inject arbitrary SQL expressions through an application value that reaches this escape path. This issue is fixed in version 6.37.4.

