Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to BaoTa panel (PR:H)
-
DeliverySubmit crafted log_type to getData
-
ExploitInject SQL into data.py query
-
ExecutionExecute against panel database
-
ImpactExfiltrate stored credentials/config
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 | Requires a valid high-privilege authenticated session to the aaPanel BaoTa web panel (CVSS PR:H) - this is not remote-unauthenticated. Once authenticated, the attacker reaches the getData function in /www/server/panel/class/data.py and supplies a malicious log_type argument that is concatenated into a SQL query. No user interaction and no non-default configuration is indicated (UI:N, AC:L). The primary limiting factor is the high-privilege authentication barrier; the exploit is meaningfully useful only where an attacker has already compromised or been granted panel admin access. |
| Impact | This is a real but bounded issue whose signals argue against high urgency. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:L/VA:L, base 5.1) makes the single most important limiting factor explicit: PR:H, meaning the attacker must already hold high-privilege authenticated access to the BaoTa panel before reaching the vulnerable getData function. CWE-89 SQL injection combined with public POC code (VulDB E:P) means a working exploit exists, but POC availability is a distinct signal from active exploitation - there is no CISA KEV listing and no EPSS score provided, so exploitation is not confirmed in the wild. My independent read is that the vendor's VC:L/VI:L/VA:L understates a classic SQL injection, which typically permits full read of the panel database (credentials, config) - I assess C:H - but the practical value is diminished because an attacker with PR:H panel access can already do far more damaging things (the sibling aaPanel CVEs are command-injection-to-root); this SQLi is a lateral/secondary primitive rather than a break-in. Net: publicly available exploit code exists but requires high-privilege authentication, so this is a medium-severity, low-to-medium-priority issue rather than a high-real-risk emergency, despite the product's large footprint. |
| Exploit ScenarioDerived | An attacker who has already obtained high-privilege credentials to an aaPanel BaoTa (<=11.8.0) web panel sends a crafted value in the log_type argument to the getData handler in class/data.py, injecting SQL that the backend executes against the panel database. Public exploit code is available on a GitHub gist (zuesdevil), lowering the effort to reproduce. The attacker uses the injection to read or manipulate stored panel data such as site configuration and credential material. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 28, 2026
SQL injection in the aaPanel BaoTa server control panel (versions up to 11.8.0) lets a user who already holds a high-privilege panel administrator session inject arbitrary SQL via the log_type argument of the getData function in /www/server/panel/class/data.py, allowing reads or modifications of the panel database. The published CVSS:4.0 vector scores it 5.1 (medium) with PR:H and UI:N, meaning it is reachable over the network but only after authentication as a panel admin - it is not remotely exploitable without credentials, and the independent CVSS:3.1 assessment rates confidentiality impact high (C:H) with integrity and availability low. Publicly available exploit code exists (a gist published alongside the VulDB entry), the vendor did not respond to early disclosure, and there is no indication of confirmed active exploitation (CISA KEV).
RemediationAI
No vendor-released patch identified at time of analysis: aaPanel/BaoTa was contacted early through VulDB (https://vuldb.com/submit/922675) but did not respond, so no fixed version number can be cited and monitoring https://vuldb.com/vuln/410880 for a vendor update is the only way to obtain an official fix. Because the SQL injection sits behind a high-privilege panel admin session (PR:H) and an exploit is public (https://gist.github.com/zuesdevil/e9760c3329b739d37f3a9dc501881384), the highest-value compensating controls are credential and exposure hardening: enforce strong, unique administrator passwords, enable multi-factor authentication if the panel build supports it, rotate any credentials that may have been reused or leaked, and never expose the panel port (default 8888, frequently changed) directly to the internet - restrict it with firewall allowlists or a VPN/zero-trust gateway, accepting that this complicates off-network and mobile administration. As defense-in-depth only, a WAF or reverse proxy rule that rejects SQL metacharacters in the log_type parameter on panel endpoints can slow scripted exploitation, but it is trivially bypassed with encoding and should not be relied upon. Until an upgrade is available, review panel audit logs for anomalous calls to data.py/getData and treat any unexpected database access as a potential compromise of previously stored credentials.
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
aaPanel (also distributed as BaoTa) is a Python-based, web-facing server management control panel that runs with root-level privileges on the host and exposes administrative functions over HTTP/HTTPS. The vulnerable code path is the getData function in /www/server/panel/class/data.py, where the attacker-controlled log_type parameter is concatenated into a SQL statement instead of being bound as a parameter, the classic CWE-89 'improper neutralization of special elements used in an SQL command' pattern that permits query structure manipulation, UNION-style extraction, or stacked statements depending on the backend driver. The CPE cpe:2.3:a:aapanel:baota:*:*:*:*:*:*:*:* indicates the issue applies to the BaoTa product line without a version qualifier in the record, with 11.8.0 cited as the ceiling of affected releases. The CVSS:4.0 vector AV:N/AC:L/AT:N/PR:H/UI:N with E:P confirms the attack is network-reachable, low in complexity, requires no user interaction or non-default configuration, but is gated behind high privileges and has proof-of-concept exploit maturity; the independent CVSS:3.1 assessment (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:L/A:L) elevates the confidentiality component because SQL injection against a panel database can expose stored credentials, site data, and configuration, while the practical value of the exploit is bounded by the admin-session prerequisite.
Know when Aapanel 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Network-reachable panel with no user interaction (AV:N/AC:L/UI:N) but requires high-privilege login (PR:H); SQLi enables full DB read (C:H) with limited write/availability impact (I:L/A:L).
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A vulnerability was identified in aaPanel BaoTa up to 11.8.0. The impacted element is the function getData of the file /www/server/panel/class/data.py. The manipulation of the argument log_type leads to sql injection. It is possible to initiate the attack remotely. The exploit is publicly available and might be used. The vendor was contacted early about this disclosure but did not respond in any way.
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.
aaPanel through 6.8.12 allows Cross-Site WebSocket Hijacking (CSWH) involving OS commands within WebSocket messages at a
aaPanel through 6.6.6 allows remote authenticated users to execute arbitrary commands via shell metacharacters in a modi
Authenticated remote command injection in aaPanel through 8.25.0 allows a logged-in panel user to execute arbitrary oper
OS command injection in aaPanel/BaoTa versions up to 11.8.0 allows an authenticated attacker with access to the administ
aaPanel through 6.6.6 allows remote authenticated users to execute arbitrary commands via the Script Content box on the
aaPanel v6.8.21 was discovered to be vulnerable to directory traversal. Rated medium severity (CVSS 6.5), this vulnerabi
aaPanel through 8.25.0 derives the client IP in GetClientIp (class/public/common.py) from the attacker-controllable X-Re
Unauthenticated attackers can forge unsubscribe and subscribe-confirmation JWTs against BillionMail through version 4.9
Authenticated path traversal in aaPanel through version 8.25.0 lets a logged-in panel user read files outside the intend
SQL injection in aaPanel (BaoTa) 11.8.0 and earlier allows an authenticated attacker with high panel privileges to injec
AAPanel v7.0.7 was discovered to contain an OS command injection vulnerability. Rated medium severity (CVSS 6.5), this v
EUVD-2026-88123
GHSA-8mvc-6jr8-68g5
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB