🔍 CVE-2026-44680

7.6
CVSS Score
HIGH
2026-05-26
2026-07-24 11:10
✅ 완료

🇰🇷 한글 설명

MikroORM의 SQL 식별자 인용 및 JSON 경로 처리 함수에서 문자 이스케이프가 불충분하여 SQL 주입 취약점이 발생합니다. 공격자가 ORM API에 조작된 문자열을 입력하면 SQL 쿼리 문맥을 벗어나 임의의 SQL을 실행할 수 있습니다.

💡 쉬운 설명

MikroORM 라이브러리가 사용자 입력을 제대로 정제하지 않아서, 공격자가 악의적인 코드를 SQL 쿼리에 삽입할 수 있습니다. 이를 통해 데이터베이스에 접근하거나 조작할 수 있게 됩니다.

🇺🇸 원문 (English)

MikroORM is a TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Prior to @mikro-orm/knex 6.6.14 and @mikro-orm/sql 7.0.14, MikroORM's identifier-quoting helper (Platform.quoteIdentifier and the postgres/mssql overrides) and its JSON-path emitters (Platform.getSearchJsonPropertyKey, quoteJsonKey) did not properly escape characters that delimit the SQL identifier or string-literal context they emit into. When application code passes attacker-influenced strings to public ORM APIs that expect an identifier or a JSON-property filter, an attacker can break out of the quoted context and inject arbitrary SQL. This vulnerability is fixed in @mikro-orm/knex 6.6.14 and @mikro-orm/sql 7.0.14.

📍 영향받는 시스템

@mikro-orm/knex < 6.6.14, @mikro-orm/sql < 7.0.14

⚔️ 공격 벡터

애플리케이션이 사용자 입력을 ORM의 식별자 또는 JSON 속성 필터 API에 전달할 때 공격자 조작 문자열을 통한 SQL 주입

🛡️ 대응 방법

@mikro-orm/knex를 6.6.14 이상으로, @mikro-orm/sql을 7.0.14 이상으로 즉시 업그레이드

🔧 검증 코드

npm list 결과에서 6.6.14 미만의 knex 또는 7.0.14 미만의 sql이 보이면 취약한 버전입니다.

Shell / Script
npm list @mikro-orm/knex @mikro-orm/sql 2>/dev/null | grep -E '@mikro-orm/(knex|sql)@[0-6]\.[0-6]\.[0-9]+'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js