A shared ChatGPT link could read the victim's session token and private chats, Parameter says
Parameter disclosed on October 28 a chain that let a shared ChatGPT conversation run script as chatgpt.com, read the viewer's session token and call ChatGPT's APIs as them, including pulling private chats. OpenAI fixed it by October 26 and paid a $5,000 bounty.
Security firm Parameter published research on October 28 showing that opening a crafted shared ChatGPT conversation could hand an attacker the viewer's account. The shared chat contained an interactive graph that loaded the MathLive library, which installed a message listener on the main ChatGPT page without checking who sent the message. An HTML Preview running in an isolated frame then sent it attacker HTML, which MathLive inserted into the page, creating an unsandboxed frame that inherited the chatgpt.com origin. A YouTube JSONP endpoint allowed by ChatGPT's content security policy got the attacker's script to run. The script read the session token and account ID from the page and called ChatGPT's APIs as the victim, listing recent conversations and exfiltrating a private chat. Parameter reported it on October 18; OpenAI raised it to P1 and confirmed both web frontends were fixed on October 26.
Why it matters
No password, MFA prompt or OAuth consent was involved. Once the script ran in the page's origin, the bearer session token readable from that page was the whole identity, which is the core weakness behind session hijacking and the session replay Huntress tracked last week.
For teams building AI apps that render user-supplied content, three checks from this chain apply directly: verify the sender's origin on every postMessage handler, never pass message data to innerHTML, and sandbox every frame that shows untrusted content. Keep session tokens out of script-readable storage where you can, and look at proof-of-possession binding such as Device Bound Session Credentials so a token copied out of the browser stops working. More on the attack class in session cookie theft.
Source: Parameter
Related on Start with Identity
- BlogGyazo breach exposes 23.6 million accounts, including session IDs and X integration tokens
An attacker reached Gyazo's database through its image upload server and took 23.62 million user records: emails, password hashes, login session IDs, device IDs
- BlogInfostealers are draining Claude subscriptions with stolen session cookies, no password needed
Anthropic warned that commodity infostealers are lifting Claude session cookies from browsers and replaying them to drain paid usage. No password, no MFA prompt
- BlogOne scanner posed as 32 AI bots to hunt for .env files and SSH keys, Cequence says
Cequence's CQ Prime research team said on October 28 that a single actor rotated through about 32 claimed AI crawler and assistant identities, from OpenAI to Pe
- CVECitrix Bleed, session-token leak from NetScaler ADC
A buffer over-read on NetScaler ADC/Gateway leaked session tokens in the clear. Attackers replayed them and skipped the login, including MFA. CISA KEV. October
- GlossaryAccess Token
A short-lived credential a client presents to a resource server to access protected data. Access tokens are typically opaque or JWT-formatted, with lifetimes me
- GlossaryBearer Token
A bearer token is a credential that grants access to whoever presents it, with no proof that the presenter is the party it was issued to. OAuth 2.0 defines how