Description
Pheditor is a single-file editor and file manager written in PHP. From version 2.0.1 to before version 2.0.6, the terminal feature in Pheditor uses an incomplete character blocklist to sanitize user-supplied commands before passing them to shell_exec(). After the fix for GHSA-9643-6xjp-vx57 (which added $ to the blocklist), the characters | (single pipe), ` (backtick), and the newline byte (0x0A) remain unblocked. An authenticated user with the terminal permission (enabled by default) can leverage any of these to bypass the TERMINAL_COMMANDS allowlist and execute arbitrary OS commands as the web server user. This issue has been patched in version 2.0.6.
Published: 2026-07-27
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Pheditor’s terminal feature sanitizes user‑supplied commands using a character blocklist before passing them to shell_exec(). From version 2.0.1 up to just before 2.0.6, the blocklist was incomplete: the pipe (|), backtick (`), and newline (0x0A) characters were not blocked, even after the earlier fix that added $ to the list. An authenticated user with the terminal permission—which is enabled by default—can use these characters to bypass the TERMINAL_COMMANDS allowlist and inject shell operators, letting them execute arbitrary OS commands as the web‑server process. This is a classic OS command‑injection flaw (CWE‑78) that allows full compromise of the underlying system.

Affected Systems

The affected vendor is pheditor, targeting Pheditor version 2.0.1 through 2.0.5 inclusive. Versions newer than 2.0.6 have applied the fix and are not vulnerable. The terminal permission is enabled by default, so any authenticated user granted terminal access is at risk.

Risk and Exploitability

The CVSS score of 8.8 indicates a high‑severity threat, and the EPSS score of <1% indicates a very low probability of widespread exploitation, though exploitation is straightforward for an authenticated user. The vulnerability is not catalogued in the CISA KEV list, but the exploitation requires only legitimate credentials and a user with terminal access, making the risk high, especially in environments where terminal permission is granted widely.

Generated by OpenCVE AI on August 3, 2026 at 17:03 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the vendor patch by upgrading to Pheditor 2.0.6 or higher.
  • If an upgrade is not immediately possible, disable terminal permission for all users until the patch is applied to prevent exploitation.
  • As a temporary control, restrict or remove the terminal feature entirely from the configuration to eliminate the attack surface.

Generated by OpenCVE AI on August 3, 2026 at 17:03 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-wg4w-wr5q-6vjc Pheditor: Incomplete command sanitization in terminal feature allows RCE via pipe operator, backtick substitution, and newline injection
History

Tue, 28 Jul 2026 21:00:00 +0000

Type Values Removed Values Added
First Time appeared Pheditor
Pheditor pheditor
Vendors & Products Pheditor
Pheditor pheditor

Tue, 28 Jul 2026 16:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Mon, 27 Jul 2026 20:30:00 +0000

Type Values Removed Values Added
Description Pheditor is a single-file editor and file manager written in PHP. From version 2.0.1 to before version 2.0.6, the terminal feature in Pheditor uses an incomplete character blocklist to sanitize user-supplied commands before passing them to shell_exec(). After the fix for GHSA-9643-6xjp-vx57 (which added $ to the blocklist), the characters | (single pipe), ` (backtick), and the newline byte (0x0A) remain unblocked. An authenticated user with the terminal permission (enabled by default) can leverage any of these to bypass the TERMINAL_COMMANDS allowlist and execute arbitrary OS commands as the web server user. This issue has been patched in version 2.0.6.
Title Pheditor: Incomplete command sanitization in terminal feature allows RCE via pipe operator, backtick substitution, and newline injection
Weaknesses CWE-78
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Subscriptions

Pheditor Pheditor
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-28T14:03:57.628Z

Reserved: 2026-06-16T23:18:03.169Z

Link: CVE-2026-55578

cve-icon Vulnrichment

Updated: 2026-07-28T14:03:39.780Z

cve-icon NVD

Status : Deferred

Published: 2026-07-27T18:16:56.730

Modified: 2026-07-28T15:17:19.233

Link: CVE-2026-55578

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-03T17:15:12Z

Weaknesses
  • CWE-78

    Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')