Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed APIJSON endpoint as guest
-
DeliveryCraft Map-form @having payload
-
ExploitBypass per-role allow-list check
-
ExecutionInject raw SQL into HAVING clause
-
PersistRead get:[] restricted tables
-
ImpactExfiltrate database contents
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Persistence The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the target application expose an APIJSON query endpoint reachable by an untrusted/guest role and that the request use the @having operator in its Map (object) form rather than the String form - the Map form is the exact code path that skips the per-role allow-list check in AbstractSQLConfig.java. The high-value target is tables configured with get:[] (empty read allow-list), which the bug lets a guest read. Per CVSS AV:N/AC:L/PR:N/UI:N there is no authentication, user interaction, or special client requirement beyond crafting the Map-form @having payload. The practical limiting factor is deployment: the app must be built on a vulnerable APIJSONORM (≤8.1.8) and permit anonymous/guest queries to the affected endpoint. |
| Impact | The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N, base 9.8) is consistent with the description: reachable over the network, low complexity, no privileges, no user interaction - a genuinely easy-to-trigger condition on exposed APIJSON instances. However, the described impact is reading arbitrary tables, which maps cleanly to Confidentiality:High but does not clearly support Integrity:High or Availability:High as scored; the raw-9.8 I:H/A:H components appear inflated for a HAVING-clause read primitive, so my independent assessment lowers real integrity/availability impact (see assessed vectors). No EPSS score, KEV entry, POC, or SSVC data was supplied. There is no evidence of active exploitation and no public exploit identified at time of analysis, so this should be treated as a high-severity, high-exposure but not-yet-known-exploited issue: prioritize based on whether an APIJSON backend is internet-reachable. The main real-world limiter is deployment footprint (relatively niche framework), not exploit difficulty. |
| Exploit ScenarioDerived | An attacker with only guest/anonymous access sends a crafted APIJSON request containing an @having condition expressed as a Map instead of a String, embedding a raw SQL fragment that the role allow-list fails to inspect. The injected HAVING clause is concatenated into the generated query, letting the attacker read rows from tables configured as unreadable (get:[]) and exfiltrate database contents. No public exploit was identified at time of analysis, but the low complexity and lack of authentication make weaponization straightforward. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 10, 2026
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.
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.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
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.
Know when Tencent gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
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.
Primary rating from Vendor (TuranSec).
CVSS VectorVendor: TuranSec
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).
Articles & Coverage 1
Executive ViewAI
Tencent APIJSON (versions 8.1.8 and earlier) contains a critical unauthenticated SQL injection vulnerability that allows remote attackers to bypass framework access controls and read database tables explicitly marked as restricted. Any organization using APIJSON for API-to-database access faces immediate risk of unauthorized data exposure from internet-connected systems without requiring valid credentials.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) isolate or air-gap affected APIJSON instances from internet-facing networks; (2) enforce WAF rules blocking Map-form @having parameters before they reach the application; (3) implement database query logging and real-time alerting on suspicious role-bypass SQL; (4) disable @having operator functionality through framework configuration if business logic permits; (5) apply strict input validation and type-checking on all API parameters before APIJSON processing.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.
WeKnora LLM framework (before 0.2.5) allows authenticated users to inject MCP stdio commands that the server executes as
OS command injection in WeKnora from version 0.2.5 allows authenticated users to execute arbitrary system commands. CVSS
SQL injection in WeKnora LLM document understanding framework allows authenticated users to extract arbitrary database c
vConsole v3.15.0 was discovered to contain a prototype pollution due to incorrect key and value resolution in setOptions
Insufficient authorization checks in WeKnora's tenant management endpoints allow any authenticated user to read, modify,
Insecure Permissions vulnerability in Tencent wechat v.8.0.37 allows an attacker to escalate privileges via the web-view
Tencent Blueking CMDB v3.2.x to v3.9.x was discovered to contain a Server-Side Request Forgery (SSRF) via the event subs
Tencent GameLoop before 4.1.21.90 downloaded updates over an insecure HTTP connection. Rated high severity (CVSS 8.1), t
In Tencent QQ through 9.7.8.29039 and TIM through 3.4.7.22084, QQProtect.exe and QQProtectEngine.dll do not validate poi
HaboMalHunter through 2.0.0.3 in Tencent Habo allows attackers to evade dynamic malware analysis via PIE compilation. Ra
Tencent tdsqlpcloud through 1.8.5 allows unauthenticated remote attackers to discover database credentials via an index.
A vulnerability in the lua parser of TscanCode tsclua v2.15.01 allows attackers to cause a Denial of Service (DoS) via a
EUVD-2026-55241
GHSA-46x4-v393-xfpx
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB