CRITICAL🇬🇧 English

CVE-2023-25813

SQL Injection w Sequelize ORM przez mechanizm replacements

CVSS 10.0v3.1pub. 2023-02-22upd. 2024-11-21

Sequelize, popularny ORM dla Node.js, w wersjach poprzedzających 6.19.1 zawiera krytyczną podatność SQL injection związaną z mechanizmem replacements. Brak właściwego escapowania parametrów przekazywanych przez replacements umożliwia atakującemu wykonanie dowolnych zapytań SQL.

Pokaż oryginał (EN)

Sequelize is a Node.js ORM tool. In versions prior to 6.19.1 a SQL injection exploit exists related to replacements. Parameters which are passed through replacements are not properly escaped which can lead to arbitrary SQL injection depending on the specific queries in use. The issue has been fixed in Sequelize 6.19.1. Users are advised to upgrade. Users unable to upgrade should not use the `replacements` and the `where` option in the same query.

🤖 Analiza AI
Jak działa

Podatność polega na tym, że parametry przekazywane do zapytań SQL za pośrednictwem mechanizmu replacements nie są odpowiednio sanityzowane ani escapowane przed użyciem w zapytaniu. Gdy w tym samym zapytaniu używana jest jednocześnie opcja `replacements` oraz opcja `where`, możliwe jest wstrzyknięcie złośliwego kodu SQL. Atakujący może spreparować dane wejściowe w taki sposób, aby zmodyfikować logikę wykonywanego zapytania bazodanowego.

Skutki

Atakujący może uzyskać nieautoryzowany dostęp do danych w bazie, modyfikować lub usuwać dane, a w zależności od konfiguracji serwera bazy danych potencjalnie przejąć kontrolę nad systemem. Podatność ma wynik CVSS 10.0, co oznacza pełne zagrożenie poufności, integralności i dostępności systemu.

Mitygacja

Należy zaktualizować Sequelize do wersji 6.19.1 lub nowszej. Użytkownicy, którzy nie mogą przeprowadzić aktualizacji, powinni unikać jednoczesnego stosowania opcji `replacements` i `where` w tym samym zapytaniu jako tymczasowego obejścia.

Kogo dotyczy

Sequelize (Node.js ORM) — wszystkie wersje przed 6.19.1

Uwagi

Poprawka dostępna w commicie ccaa3996047fe00048d5993ab2dd43ebadd4f78b w repozytorium GitHub projektu Sequelize. Podatność była śledzona również jako issue #14519.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
  • Sequelizejs Sequelize

    APP
    Sequelizejs
    < 6.19.1
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
SQLi
CWE
Referencje

Powiązane podatności

CVE-2023-22579CRITICAL9.9PL ✓ten sam produkt

Sequelize.js — injection przez nieprawidłowe filtrowanie parametrów

CVE-2023-22578CRITICAL10.0PL ✓ten sam produkt

SQL Injection w bibliotece Sequelize (brak filtrowania atrybutów)

CVE-2019-10749CRITICAL9.8PL ✓ten sam produkt

SQL Injection w bibliotece Sequelize — brak sanityzacji kluczy JSON path (PostgreSQL)

CVE-2019-10748CRITICAL9.8PL ✓ten sam produkt

SQL Injection w Sequelize przez nieprawidłowe eskejpowanie kluczy JSON path

CVE-2019-10752CRITICAL9.8PL ✓ten sam produkt

SQL Injection w Sequelize przez funkcję pomocniczą sequelize.json()