Skip to main content

Tencent APIJSON CVE-2026-72565

| EUVDEUVD-2026-55241 CRITICAL
SQL Injection (CWE-89)
2026-08-10 TuranSec GHSA-46x4-v393-xfpx
9.8
CVSS 3.1 · Vendor: TuranSec
Share

Severity by source

Vendor (TuranSec) PRIMARY
9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.5 HIGH

Unauthenticated network-reachable, low-complexity injection with no user interaction (AV:N/AC:L/PR:N/UI:N); a HAVING-clause read primitive yields high confidentiality but no demonstrated integrity or availability impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (TuranSec).

CVSS VectorVendor: TuranSec

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Analysis Generated
Aug 10, 2026 - 11:15 vuln.today
CVE Published
Aug 10, 2026 - 10:40 cve.org
CRITICAL 9.8

DescriptionCVE.org

A SQL injection vulnerability in Tencent APIJSON through 8.1.8 allows unauthenticated remote attackers to bypass per-table access control and read arbitrary database tables via the Map-form @having operator. The APIJSONORM library's AbstractSQLConfig.java applies the per-role allow-list check only on the String form of @having but not on the Map form, allowing a guest user to inject raw SQL fragments and read tables that are configured with get:[] (empty, meaning no role can read them).

AnalysisAI

Unauthenticated SQL injection in Tencent APIJSON (through 8.1.8) lets remote attackers bypass the framework's per-table role-based access control and read tables explicitly marked unreadable (get:[]). The APIJSONORM library validates the per-role allow-list only for the String form of the @having operator, so supplying @having in its Map form smuggles raw SQL fragments past the guard as an anonymous guest user. No public exploit identified at time of analysis, but the flaw is trivially reachable over the network with no authentication.

Technical ContextAI

APIJSON is an open-source, JSON-based ORM/query protocol from Tencent that auto-generates SQL from client-supplied JSON, exposing database access directly to front-end clients with a role/permission model instead of hand-written endpoints. The @having operator maps to the SQL HAVING clause and can be expressed either as a String or as a Map (key/value) structure. In AbstractSQLConfig.java the allow-list enforcement that restricts which raw SQL fragments a given role may inject is applied on the String form only; the Map form is parsed and concatenated into the query without the same role check. This is a classic CWE-89 (improper neutralization of SQL) failure - the root cause is an incomplete/inconsistent input-validation path where one representation of the same feature is trusted while an equivalent one is not, and it interacts with APIJSON's access-control layer to also defeat per-table read restrictions. The single affected CPE is cpe:2.3:a:tencent:apijson:*, i.e. the APIJSONORM Java library embedded in applications built on the framework.

RemediationAI

No vendor-released patch version was identified at time of analysis, and the supplied references point only to the project repository and the affected AbstractSQLConfig.java source file rather than a tagged fix, so upgrade to a fixed release once Tencent publishes one (track https://github.com/Tencent/APIJSON releases). As concrete compensating controls: block or disable the Map form of the @having operator at the application/request-filter layer, or reject any request whose @having value is an object rather than a permitted string, which closes the specific bypass at the cost of losing Map-form HAVING functionality; enforce the per-table read allow-list server-side independent of @having form so tables set to get:[] are never queried by guest roles; require authentication on the APIJSON endpoint and remove guest/anonymous roles where feasible; and restrict network exposure of the APIJSON query endpoint to trusted internal callers (WAF/reverse-proxy rule denying HAVING-like SQL keywords in JSON bodies) - noting WAF pattern matching on JSON can produce false positives and is a stopgap, not a fix.

More in Java

View all
CVE-2012-4681 CRITICAL POC
9.8 Aug 28

Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m

CVE-2015-7450 CRITICAL POC
9.8 Jan 02

Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti

CVE-2013-2465 CRITICAL POC
9.8 Jun 18

Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent

CVE-2011-3544 CRITICAL POC
9.8 Oct 19

Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug

CVE-2010-1871 HIGH POC
8.8 Aug 05

JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to

CVE-2012-1723 CRITICAL POC
9.8 Jun 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up

CVE-2013-0422 CRITICAL POC
9.8 Jan 10

Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using

CVE-2012-0507 CRITICAL POC
9.8 Jun 07

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up

CVE-2015-4852 CRITICAL POC
9.8 Nov 18

The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers

CVE-2012-5076 CRITICAL POC
9.8 Oct 16

Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow

CVE-2017-3066 CRITICAL POC
9.8 Apr 27

Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla

CVE-2012-0391 CRITICAL POC
9.8 Jan 08

The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during

Share

CVE-2026-72565 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy