CVE-2026-101008: aaPanel BaoTa: command injection in file merge handler
CRITICALPoC AVAILABLECISA: ATTENDaaPanel (BaoTa) up to 11.8.0 has an OS command injection in the file merge handler (merge_split_file in files.py), reachable remotely through the split_file_path argument. The flaw needs high privileges, so it is mainly a post-authentication escalation or insider risk. Even so, a public exploit write-up is linked in the references, the vendor has not responded to the disclosure, and no patched version exists. EPSS is low (0.023, top 17%), it is not in CISA KEV, and CISA SSVC rates it ATTEND. Note that the panel is a general web hosting control panel, not a tracked AI package, and the 'ml_ui' category looks like a misclassification, so it matters only where it hosts ML workloads or notebooks. Restrict panel access to trusted networks or a VPN, audit and rotate admin credentials, remove the panel from the internet, and monitor for unusual shell activity from the panel's Python process until the vendor ships a fix.
What is the risk?
Rated critical (CVSS 9.1), but the high-privilege requirement (PR:H) and the low EPSS (top 17%) reduce practical likelihood. Aggravating factors: a public exploit gist is referenced (the structured 'public exploit' flag says No, a discrepancy worth verifying), the vendor is unresponsive, there is no known patch, and the scope is changed (S:C), so a compromise can reach the host. The AI relevance is indirect and applies only if the panel manages servers that run ML workloads. Not in KEV, no Nuclei template, and no dependents data is available.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| BaoTa | — | — | No patch |
Do you use BaoTa? You're affected.
How severe is it?
What is the attack surface?
What should I do?
1 step1) No patched version is published, so check the vendor's channels for releases after 11.8.0 and apply them as soon as they exist. 2) Do not expose the panel to the internet. Restrict it by firewall, IP allow-list or VPN, and change the default port. 3) Enforce strong, unique admin credentials with MFA where available, and review admin accounts and sessions. 4) Monitor for requests to the file merge endpoint with unusual split_file_path values (shell metacharacters such as ;, |, $(), backticks). Alert on child shells spawned by the panel's Python process. 5) Review the public exploit write-up to build detections. 6) Isolate ML workloads from the panel host, and rotate secrets stored on it if compromise is suspected. 7) Consider migrating to a maintained alternative if the vendor stays unresponsive.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2026-101008?
aaPanel (BaoTa) up to 11.8.0 has an OS command injection in the file merge handler (merge_split_file in files.py), reachable remotely through the split_file_path argument. The flaw needs high privileges, so it is mainly a post-authentication escalation or insider risk. Even so, a public exploit write-up is linked in the references, the vendor has not responded to the disclosure, and no patched version exists. EPSS is low (0.023, top 17%), it is not in CISA KEV, and CISA SSVC rates it ATTEND. Note that the panel is a general web hosting control panel, not a tracked AI package, and the 'ml_ui' category looks like a misclassification, so it matters only where it hosts ML workloads or notebooks. Restrict panel access to trusted networks or a VPN, audit and rotate admin credentials, remove the panel from the internet, and monitor for unusual shell activity from the panel's Python process until the vendor ships a fix.
Is CVE-2026-101008 actively exploited?
Proof-of-concept exploit code is publicly available for CVE-2026-101008, increasing the risk of exploitation.
How to fix CVE-2026-101008?
1) No patched version is published, so check the vendor's channels for releases after 11.8.0 and apply them as soon as they exist. 2) Do not expose the panel to the internet. Restrict it by firewall, IP allow-list or VPN, and change the default port. 3) Enforce strong, unique admin credentials with MFA where available, and review admin accounts and sessions. 4) Monitor for requests to the file merge endpoint with unusual split_file_path values (shell metacharacters such as ;, |, $(), backticks). Alert on child shells spawned by the panel's Python process. 5) Review the public exploit write-up to build detections. 6) Isolate ML workloads from the panel host, and rotate secrets stored on it if compromise is suspected. 7) Consider migrating to a maintained alternative if the vendor stays unresponsive.
What systems are affected by CVE-2026-101008?
This vulnerability affects the following AI/ML architecture patterns: Web hosting control panels hosting ML workloads, Self-hosted notebook and model-serving hosts.
What is the CVSS score for CVE-2026-101008?
CVE-2026-101008 has a CVSS v3.1 base score of 9.1 (CRITICAL). The EPSS exploitation probability is 2.34%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0049Exploit Public-Facing ApplicationAML.T0050Command and Scripting InterpreterCompliance Controls Affected
What are the technical details?
Original Advisory
A vulnerability was found in aaPanel BaoTa up to 11.8.0. Impacted is the function merge_split_file of the file /www/server/panel/class/files.py of the component File Merge Handler. Performing a manipulation of the argument split_file_path results in command injection. The attack is possible to be carried out remotely. The exploit has been made public and could be used. The vendor was contacted early about this disclosure but did not respond in any way.
Exploitation Scenario
An attacker obtains admin credentials for an exposed aaPanel instance, through credential stuffing, phishing or a compromised insider account. They send a crafted request to the File Merge Handler with a split_file_path containing shell metacharacters, and the payload executes as the panel user. From the shell they search the host for Jupyter tokens, cloud keys, model files and datasets, then plant a persistent backdoor or move laterally to the GPU and training servers that share the host or network.
Weaknesses (CWE)
CWE-74Improper Neutralization of Special Elements in Output Used by a Downstream ComponentCWE-77Improper Neutralization of Special Elements used in a CommandCWE-74 — Improper Neutralization of Special Elements in Output Used by a Downstream Component: The product constructs all or part of a command, data structure, or record using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify how it is parsed or interpreted when it is sent to a downstream component.
- [Requirements] Programming languages and supporting technologies might be chosen which are not subject to these issues.
- [Implementation] Utilize an appropriate mix of allowlist and denylist parsing to filter control-plane syntax from all input.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H/E:P/RL:X/RC:CReferences
- gist.github.com/zuesdevil/56b73463ffe3390f670a5c031764a134exploit
- vuldb.com/cve/CVE-2026-101008third-party-advisory
- vuldb.com/submit/922338third-party-advisory
- vuldb.com/vuln/410878vdb-entrytechnical-description
- vuldb.com/vuln/410878/ctisignaturepermissions-required
Timeline
Related Vulnerabilities
CVE-2024-291210.0BentoML: RCE via insecure deserialization (CVSS 10)
Same attack type: Code ExecutionCVE-2026-2185810.0n8n: Input Validation flaw enables exploitation
Same attack type: Code ExecutionCVE-2025-512010.0smolagents: sandbox escape enables unauthenticated RCE
Same attack type: Code ExecutionCVE-2025-5952810.0Flowise: Unauthenticated RCE via MCP config injection
Same attack type: Code ExecutionGHSA-vvpj-8cmc-gx3910.0picklescan: security flaw enables exploitation
Same attack type: Code Execution