CVE-2026-84993
ŚrednieCVSS 6.5Streszczenie
MikroORM przed wersjami 6.6.16 i 7.1.7 nie waliduje wartości kierunku w klauzuli orderBy przed wstawieniem jej do zapytania ORDER BY. Aplikacje przekazujące dane kontrolowane przez atakującego do kierunku sortowania w em.find(), em.findOne(), em.findAndCount(), QueryBuilder.orderBy() lub QueryBuilderHelper.getQueryOrderFromObject() mogą umożliwić wstrzyknięcie fragmentu SQL i ślepą ekstrakcję danych.
Ocena ryzyka
Atakujący może odczytać dane dostępne dla konta bazy danych poprzez wstrzyknięcie SQL, co prowadzi do wycieku informacji. Podatność dotyczy wielu sterowników bazodanowych (SQLite, PostgreSQL, MySQL, MariaDB, MSSQL, libSQL, Oracle), z wyjątkiem MongoDB.
Rekomendacja
Zaktualizuj MikroORM do wersji 6.6.16 lub 7.1.7 (lub nowszej), które zawierają poprawkę tego problemu.
Inne podatności w MikroORM
Zobacz wszystkie- CVE-2026-34221Krytyczne
MikroORM przed wersjami 6.6.10 i 7.0.6 zawiera podatność na zanieczyszczenie prototypu w funkcji pomocniczej Utils.merge używanej wewnętrznie podczas scalania struktur obiektów. Funkcja nie zapobiega użyciu specjalnych kluczy, takich jak __proto__, constructor czy prototype, co pozwala na modyfikację prototypu obiektu JavaScript przez kontrolowane przez atakującego dane wejściowe.
- CVE-2026-34220Krytyczne
MikroORM, TypeScript ORM dla Node.js, zawiera podatność na wstrzykiwanie SQL w wersjach przed 6.6.10 i 7.0.6. Specjalnie spreparowane obiekty są interpretowane jako surowe fragmenty zapytań SQL.
- CVE-2026-44680Wysokie
W bibliotece MikroORM przed wersjami @mikro-orm/knex 6.6.14 i @mikro-orm/sql 7.0.14, funkcje cytowania identyfikatorów oraz emitery ścieżek JSON nieprawidłowo escapują znaki specjalne. Aplikacja przekazująca dane od atakującego do publicznych API ORM może doprowadzić do wstrzyknięcia SQL.
Oryginalny opis (angielski, źródło NVD)
MikroORM is a TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Prior to 6.6.16 and 7.1.7, the shared SQL layer validates the field key of an orderBy clause but does not validate its direction value before AbstractSqlPlatform.getOrderByExpression concatenates it into an ORDER BY clause. Applications that bind attacker-controlled request data to the direction in em.find(), em.findOne(), em.findAndCount(), QueryBuilder.orderBy(), or QueryBuilderHelper.getQueryOrderFromObject() can permit a raw SQL fragment that performs blind or boolean extraction of data available to the database account. The BaseMySqlPlatform and MsSqlPlatform fallthrough paths have the same behavior, affecting SQLite, PostgreSQL, MySQL, MariaDB, MSSQL, libSQL, and Oracle drivers, while MongoDB is not affected. This issue is fixed in versions 6.6.16 and 7.1.7.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

