KamoCRM

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

FixMediaService
Verschifft
23. September 2026 um 10:03 UTC
Autor
Kamo
Ausschuss
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

Wie, was Sie sehen Versand?

Alles kommt in Ihrem Arbeitsbereich für sich. Starten Sie mit dem kostenlosen Plan und lesen Sie diese Seite in einem Monat wieder.

Free Forever startenPreisgestaltung anzeigen