🔍 CVE-2026-84993

6.5
CVSS Score
MEDIUM
2026-09-16
2026-09-30 17:51
✅ 완료

🇰🇷 한글 설명

MikroORM의 공유 SQL 레이어에서 orderBy 절의 방향(direction) 값을 검증하지 않아 발생하는 취약점입니다. 공격자가 제어하는 요청 데이터가 orderBy 메서드에 바인딩될 경우, SQL 인젝션을 통해 데이터베이스의 데이터를 추출할 수 있습니다.

💡 쉬운 설명

데이터를 정렬하는 기능에 악의적인 명령어를 몰래 끼워 넣어 데이터베이스 정보를 훔쳐낼 수 있는 보안 결함입니다. 정렬 순서를 결정하는 부분에 검증 절차가 누락되어 발생합니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

MikroORM 6.6.16 미만 및 7.1.7 미만 버전 (SQLite, PostgreSQL, MySQL, Maria Maria, MSSQL, libSQL, Oracle 지원 시)

⚔️ 공격 벡터

사용자 입력값이 em.find() 또는 QueryBuilder.orderBy() 등의 메서드 내 정렬 방향(direction) 파라미터로 전달될 때 SQL 인젝션 수행

🛡️ 대응 방법

MikroORM을 최신 보안 패치 버전인 6.6.16 또는 7.1.7 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 6.6.16 또는 7.1.7보다 낮은지 확인하여 취약 여부를 판단합니다.

Shell / Script
npm list mikro-orm

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

MariaDB