KamoCRM

Strona wyników spotkania OAuth nie może już wyrwać się z własnego tagu skryptu

FixMediaService
Shipped
23 września 2026 10:03 UTC
Author
Kamo
Commit
617c224

MeetProviderController's GET /oauth/callback jest bez sesji i odzwierciedla Błęd_opis użytkownika do bloku inline .script>. Stary jsString() Tylko uciekł backslash/quote/newline, więc wartość ukształtowana jak ?/script> 'skrypt>' kończąca element wcześnie i uruchomił atakuer HTML na publicznym hali API gateway (zabezpieczone na żywo i potwierdzone odzwierciedlenie dosłowności, Nie wymaga tego auth). jsString() teraz również ucieka > & / / oraz terminatory liniowe JS U+2028/U+2029 Jak Eu ucieka, ponieważ tokenizator HTML szuka nagiego / skryptu, podczas gdy Czytanie treści skryptu, zanim pojawi się jakiekolwiek pojęcie JS string quotingu - Trzymanie tych bajtów z dala od wyjścia jest tym, co go powstrzymuje, a nie lepiej Cytowanie JS. Strona wyników ma teraz również na sobie nastawkę na reponse nonce na swoją Znacznik i pasujący restrykcyjny nagłówek Content-Security-Polilicy, jako nagłówek Druga warstwa na wypadek, gdyby uciekinier kiedykolwiek miał lukę. PostMessage nadal celuje w "-": Ten punkt końcowy jest wspólnym gospodarzem bramy dla każdego najemcy, w tym orgs na Własna niestandardowa domena, więc nie ma jednego wyjścia otwierającego do pin, i Własny słuchacz kamo-internal już traktuje dostawę jako najlepszą pocieszenie dla Z tego samego powodu. Pokryte przez mutację podsyconą przeciwko Stare ucieczkę (odwracając jej zawracając nowe ./skrypt>-wiązancyjne twierdzenie Czerwony).

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing