KamoCRM

Die Met-Provider OAuth Ergebnisseite kann nicht mehr aus dem eigenen Skript-Tag ausbrechen

FixMediaService
Verschickt
23. September 2026 um 10:03 UTC
Autor
Kamo
Commit
617c224

MeetProviderController's GET /oauth/callback ist sessionless und reflektiert die error_description des Providers in einen inline <script"-Block. Der alte jsString() nur entflohen Backslash/Zitat/Newline, so ein Wert wie </script&gt;</script&gt; beendete das Element früh und ließ Angreifer HTML auf dem öffentlichen API Gateway Host (geprüft live und bestätigt reflektiert wörtlich, keine Auerforderigkeit erforderlich). jsString() entgeht jetzt auch < . & und die JS-Linienterminatoren U+2028/U+2029 als \u entweicht, weil der HTML-Tokenizer nach einem nackten </script sucht, während Leseskript-Inhalte, bevor es eine Vorstellung von JS String Zitat hat - diese Bytes vollständig aus der Produktion heraus zu halten, ist das, was sie stoppt, nicht besser JS zitiert. Die Ergebnisseite trägt jetzt auch eine pro-Antwort-Nonce auf seiner <script&gt;-Tag und ein passendes restriktives Content-Security-Policy Header, als zweite Ebene für den Fall, dass ein Escaper jemals eine Lücke hat. postMessage zielt immer noch auf '*': dieser Endpunkt ist der gemeinsame Gateway-Host für jeden Mieter, einschließlich Orgs auf ihre eigene eigene Domain, so gibt es keine einzelnen Opener Herkunft zu Pin, und Kamo-internals eigener Zuhörer behandelt Lieferung bereits als bestes Pfändliches für die Der gleiche Grund. Abgedeckt von ************ mutation-geprüft das alte Fluchten (umdreht es umdreht die neue </script-boundary Behauptung rot).

Alle Änderungen anzeigen

Wie das, was Sie sehen Versand?

Beginnen Sie mit dem kostenlosen Plan und lesen Sie diese Seite in einem Monat erneut, um zu sehen, ob Sie die neuen Funktionen nutzen möchten.

Kostenlos für immer startenPreise anzeigen