Authenticated terminal command whitelist bypass in Pheditor
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-78.
Summary
Pheditor is a single-file editor and file manager written in PHP. Prior to version 2.0.5, there is an authenticated terminal command whitelist bypass. The terminal feature checks whether the submitted command starts with one of the configured TERMINAL_COMMANDS values, then passes the full command string to shell_exec(). Shell command substitution such as $() is not blocked, so an authenticated user with the terminal permission can bypass a restricted command allowlist and execute arbitrary shell commands as the web server user. This issue has been patched in version 2.0.5.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| pheditor | pheditor | before 2.0.5 | 2.0.5 | Patch available | CNA |
| — | pheditor/pheditor (Packagist) | before 2.0.5 | 2.0.5 | Patch available | GHSA-9643-6xjp-vx57 |
- pheditor Vendorpheditor Affected before 2.0.5 Fixed in 2.0.5 Patch available CNA
- pheditor/pheditor (Packagist) Vendor— Affected before 2.0.5 Fixed in 2.0.5 Patch available GHSA-9643-6xjp-vx57
Remediation
- Fix · CNA pheditor (pheditor) Fixed in 2.0.5
- Fix · GHSA-9643-6xjp-vx57 pheditor/pheditor (Packagist) Fixed in 2.0.5 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-54540
- 2026-10-03 Alias added: GHSA-9643-6xjp-vx57
References
More pheditor vulnerabilities
- TI-2026-40118 Pheditor: Hardcoded default password 'admin' with no forced change enables full application compromise CVSS 3.1CRITICAL 9.8
- TI-2026-35473 Pheditor: OS Command Injection in terminal handler via unsanitized 'dir' parameter (CWE-78) CVSS 3.1CRITICAL 9.9
- TI-2026-40117 OS command injection in pheditor CVSS 3.1HIGH 8.8
Sources
- CVE-2026-54540 · CVE Program
- CVE-2026-54540 · NVD
- FIRST EPSS
- GHSA-9643-6xjp-vx57 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences