Загрузка видео...
Не удалось загрузить видео
I found 2 stored XSS vulnerabilities in ChatGPT. The XSS bug was the easy part, but sharing it required bypassing CSP, leveraging a mass assignment issue for client-side path traversal (thanks Critical Thinking - Bug Bounty Podcast) to force a request to a BFLA endpoint. 🧵 [1/5]
76,807 просмотров • 2 лет назад •via X (Twitter)
Комментарии: 10

I noticed that when ChatGPT quotes from an uploaded file, clicking on a citation creates a BLOB with the content of the uploaded file and opens it. So, I've uploaded an HTML file and voilà, it was blocked by a CSP policy.

Reading the CSP policy I noticed the same nonce value was used which allowed me to bypass it.

I shared my conversation with the XSS payload, but when I tried to trigger the XSS from another ChatGPT account, it didn't work because uploaded files are restricted to the account that uploaded them.

I found an endpoint used by OpenAI GPTs to manage knowledge files. When a GPT is made public, any knowledge file can be downloaded from any ChatGPT account. While I think it's a very low impact, broken function-level authorization issue, it was perfect for my bug.

I then found the last piece of the puzzle: a mass assignment bug in the `/backend-api/conversation` endpoint that allowed me to inject arbitrary metadata into a conversation by pretending to be the assistant. Blog:

@ctbbpodcast haha nice one

@ctbbpodcast Thanks!

@ctbbpodcast congrats buddy this is not luck its real try harder ron masas

@ctbbpodcast Amazing work bru !!!

@ctbbpodcast bugbointy man kkk
