WebSub: Reflected script execution through intent-verification challenges
Impact
WebSub is a W3C recommendation produced by the Social Web Working Group. In recommendation REC-websub-20180123, the intent-verification protocol requires a subscriber to echo the hub.challenge value, also exposed as hub_challenge by some frameworks, but does not require safe response media typing or disabled MIME sniffing. An attacker can initiate a subscription to obtain a callback URL and redirect a victim browser to a crafted verification request containing HTML or JavaScript. Subscribers that return the challenge as text/html can execute the reflected content in the subscriber origin,…
Source excerpt · GitHub_MIn recommendation REC-websub-20180123, the intent-verification protocol requires a subscriber to echo the hub.challenge value, also exposed as hub_challenge by some frameworks, but does not require safe response media typing or disabled MIME sniffing.
Affected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
w3c · websub
| Version / range | Source status |
|---|---|
| = REC-websub-20180123 | affected |
Original source description
WebSub is a W3C recommendation produced by the Social Web Working Group. In recommendation REC-websub-20180123, the intent-verification protocol requires a subscriber to echo the hub.challenge value, also exposed as hub_challenge by some frameworks, but does not require safe response media typing or disabled MIME sniffing. An attacker can initiate a subscription to obtain a callback URL and redirect a victim browser to a crafted verification request containing HTML or JavaScript. Subscribers that return the challenge as text/html can execute the reflected content in the subscriber origin, using a victim's existing session to read private data or perform actions, exposing localStorage or sessionStorage and browser permissions granted to that origin. An alternative uses the verification response as an attacker-controlled same-origin script resource to bypass script-src 'self'; this can remain possible with application/octet-stream when MIME sniffing is allowed. Safe media typing and X-Content-Type-Options: nosniff are both needed to address the described scenarios. WebSub Rocks demonstrated reflection, but the advisory does not establish practical impact on that demonstration site.