Skip to main content

aaPanel CVE-2026-113505

| EUVDEUVD-2026-105174 LOW
Path Traversal (CWE-22)
2026-10-20 VulDB GHSA-2mfg-9rwf-7mpr
2.1
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain low-privileged aaPanel credentials
  2. Delivery
    Access download endpoint (send_file in v2.py)
  3. Exploit
    Supply traversal sequences in filename argument
  4. Execution
    Read arbitrary files outside download directory
  5. Impact
    Harvest config/credentials for escalation

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

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 authenticated aaPanel session with at least a low-privileged account (vendor explicitly states the LFI/RCE class requires authentication; CVSS PR:L), after which the attacker manipulates the 'filename' argument of the send_file download endpoint in BTPanel/routes/v2.py to escape the intended directory. No user interaction is needed and the endpoint is reachable over the network, but exploitation is LIMITED by: (1) the need for prior authentication to the panel, and (2) the operating-system file permissions of the aaPanel web process, which bound which files can be read. Affects aaPanel versions up to and including 8.25.0.

Impact

This is a moderate, authentication-gated path traversal (CWE-22) in aaPanel's download endpoint, and the signals are largely consistent rather than conflicting. The provided CVSS 4.0 vector (AV:N/AC:L/PR:L/UI:N) and the vendor's explicit statement - 'The reported RCE and LFI vulnerabilities require authentication' - agree that an attacker needs a valid low-privileged account, so this is NOT a pre-auth internet-wide crisis. Exploitation maturity is 'proof-of-concept' (E:P) and a public exploit is published on GitHub, which raises practical risk, but there is NO CISA KEV entry and NO EPSS score in the provided data, so there is no evidence of widespread automated exploitation at this time. The main caveat is impact scope: the input scores confidentiality as only VC:L, yet an arbitrary-file-read path traversal in a server control panel can typically expose sensitive files (panel config, credentials, keys) accessible to the web process, which would justify a higher confidentiality rating - this discrepancy should be verified against the actual file-access constraints of the send_file handler. Net: a real but authenticated, confidentiality-focused issue worth prioritizing for exposed/multi-tenant aaPanel instances, not a drop-everything unauthenticated RCE.

Exploit ScenarioDerived

An attacker who already holds a low-privileged, authenticated aaPanel account sends a request to the download endpoint (send_file in BTPanel/routes/v2.py) with a crafted 'filename' value containing directory-traversal sequences. Because the public exploit code exists (GitHub PoC), the attacker reuses it to read files outside the intended download directory - for example panel configuration or credential files - enabling further escalation such as the vendor-noted authenticated LFI/RCE paths.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 20, 2026

Authenticated path traversal in aaPanel through version 8.25.0 lets a logged-in panel user read files outside the intended download directory by manipulating the 'filename' argument of the send_file endpoint in BTPanel/routes/v2.py. Remote attackers who hold at least a low-privileged panel account can use ../ style sequences to escape the base path and disclose arbitrary files readable by the aaPanel web process, silently and without any user interaction. Publicly available exploit code exists (a dedicated GitHub PoC repository), and exploitation is gated by two real constraints: prior authentication and the operating-system permissions of the panel's service account.

RemediationAI

No vendor-released patch identified at time of analysis - the supplied references contain no fixed version or vendor security advisory, so confirm the current release status with aaPanel before assuming 8.25.0 is the final patched baseline. Until a fix is confirmed, apply compensating controls that directly address the two exploitation gates. First, restrict network reachability of the panel port (default 8888) to trusted management IPs via firewall/security-group rules or a VPN jump host; side effect is loss of public panel access for roaming administrators. Second, enforce least privilege for panel accounts and remove unused or low-privileged logins, since the CVSS vector confirms PR:L - this shrinks the pool of accounts that can reach the endpoint. Third, run the aaPanel service as an unprivileged, dedicated user (or inside a container/chroot with a minimal bind-mounted filesystem) so traversal reads cannot reach /etc/shadow, SSH keys, or database credentials; side effect is that some panel features expecting broader filesystem access may need reconfiguration. Fourth, add a reverse-proxy/WAF rule that rejects requests to the download route whose 'filename' parameter contains '..', encoded dot sequences, or absolute paths; side effect is possible breakage of legitimate nested-path downloads, so log-and-alert mode first is advisable. Finally, monitor panel access logs for anomalous download requests and treat any panel file disclosure as a credential compromise event requiring rotation of panel, database, and API secrets. Referenced intelligence: https://vuldb.com/vuln/422747 and https://github.com/JdExploit/aapanel-cve-2026/tree/master/aapanel-lfi.

Affected VersionsENISA

aaPanel 8.4
aaPanel 8.2
aaPanel 8.5
aaPanel 8.9
aaPanel 8.20
aaPanel 8.17
aaPanel 8.8
aaPanel 8.25.0
aaPanel 8.1
aaPanel 8.6
aaPanel 8.18
aaPanel 8.21
aaPanel 8.11
aaPanel 8.7
aaPanel 8.14
aaPanel 8.15
aaPanel 8.3
aaPanel 8.19
aaPanel 8.12
aaPanel 8.13
aaPanel 8.24
aaPanel 8.16
aaPanel 8.23
aaPanel 8.10
aaPanel 8.0
aaPanel 8.22

Affected Packages

euvd aapanel no fix

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 is a Python-based server control panel whose BTPanel component exposes a download route implemented in BTPanel/routes/v2.py. The send_file function passes a user-supplied 'filename' argument into the file-serving logic without adequate canonicalization, so relative traversal sequences (../) survive into the resolved path. This is the classic CWE-22 path traversal / local file inclusion pattern: the application trusts client-controlled path input and does not verify that the final absolute path remains inside the intended download root. Because the route is reachable over the network and returns file contents, successful traversal converts a download helper into an arbitrary-file-read primitive, limited by the privileges of the aaPanel web process - configuration files, credentials stores, and panel sources are the most exposed targets. The CPE entry (cpe:2.3:a:aapanel:aapanel) is a wildcard range, while the vendor and advisory text scope affected releases to 8.25.0 and earlier. Scoring differs between sources: VulDB assigns 5.3 under CVSS 4.0 with low confidentiality impact, whereas the independent assessment maps the same behavior to CVSS 3.1 with PR:L/UI:N and confidentiality impact High, reflecting that a readable panel file store can yield secrets. The vendor itself confirms the LFI/RCE class requires authentication.

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

Vendor (VulDB) PRIMARY 2.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P
vuln.today AI 6.5 MEDIUM

Network-reachable endpoint with low complexity; vendor-confirmed authentication sets PR:L; arbitrary file read yields high confidentiality but no integrity/availability impact, so C:H/I:N/A:N.

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

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

3
Severity Changed
Oct 20, 2026 - 17:22 NVD
MEDIUM LOW
CVSS changed
Oct 20, 2026 - 17:22 NVD
5.3 (MEDIUM) 2.1 (LOW)
CVE Published
Oct 20, 2026 - 16:15 cve.org
MEDIUM 5.3

DescriptionCVE.org

A flaw has been found in aaPanel up to 8.25.0. Impacted is the function send_file of the file BTPanel/routes/v2.py of the component Download Endpoint. Executing a manipulation of the argument filename can lead to path traversal. The attack can be executed remotely. The exploit has been published and may be used. The vendor confirms: "The reported RCE and LFI vulnerabilities require authentication."

Threat Intelligence Overview

EPSS Score
0.4%
Top 65% exploitable
Prevalence
Medium
popular self-hosted Linux web hosting control panel, common but not ubiquitous
Exploit
POC
Public exploit code exists
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity LOW
CISA KEV No
Public POC Yes
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

CVE-2021-37840 HIGH POC
8.8 Aug 02

aaPanel through 6.8.12 allows Cross-Site WebSocket Hijacking (CSWH) involving OS commands within WebSocket messages at a

CVE-2020-14950 HIGH POC
8.8 Jun 21

aaPanel through 6.6.6 allows remote authenticated users to execute arbitrary commands via shell metacharacters in a modi

CVE-2026-113506 HIGH POC
8.6 Oct 20

Authenticated remote command injection in aaPanel through 8.25.0 allows a logged-in panel user to execute arbitrary oper

CVE-2026-101007 HIGH POC
8.5 Sep 28

OS command injection in aaPanel/BaoTa versions up to 11.8.0 allows an authenticated attacker with access to the administ

CVE-2020-14421 HIGH POC
7.2 Jun 18

aaPanel through 6.6.6 allows remote authenticated users to execute arbitrary commands via the Script Content box on the

CVE-2022-26252 MEDIUM POC
6.5 Mar 27

aaPanel v6.8.21 was discovered to be vulnerable to directory traversal. Rated medium severity (CVSS 6.5), this vulnerabi

CVE-2026-113507 MEDIUM POC
5.5 Oct 20

aaPanel through 8.25.0 derives the client IP in GetClientIp (class/public/common.py) from the attacker-controllable X-Re

CVE-2026-111367 MEDIUM
6.9 Oct 15

Unauthenticated attackers can forge unsubscribe and subscribe-confirmation JWTs against BillionMail through version 4.9

CVE-2026-101011 LOW POC
2.0 Sep 28

SQL injection in aaPanel (BaoTa) 11.8.0 and earlier allows an authenticated attacker with high panel privileges to injec

CVE-2026-101010 LOW POC
2.0 Sep 28

SQL injection in the aaPanel BaoTa server control panel (versions up to 11.8.0) lets a user who already holds a high-pri

CVE-2024-42922 MEDIUM POC
6.5 May 21

AAPanel v7.0.7 was discovered to contain an OS command injection vulnerability. Rated medium severity (CVSS 6.5), this v

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