Trzymaj tokena int64 ids jako cyfry, a nie jako liczby

Fixkamo-internal
Szycy
19 sierpnia 2026 02:18 UTC
Autor
kamo
Pochęt się
f55a95c

KToken nie mógł zweryfikować prawdziwego symbolu. Cztery identyfikatory, które nosi, to at64s, a Java sygnerzy (kamo-wspólniona-brabrary KToken-canonicalForMac) dopkuje każdy jako surowy "long", więc wszystko 19 cyfr trafia do materiału MAC. Ta klasa czyta je z Number(), która okrągła 2 x 53, a następnie każdy seter zastosował .v|0 - 32-bitowa okrojenie na wierzchu zaokrąglenia. 1168485648209608710 pojawił się jako mała liczba sześćdziesiątk, rekomplikowany HMAC nie pasował do Jeden serwer, który podpisano, a parseAndVerifyCookie zwrócił zerowi: poprawny token odczyt jako Sfałszowane. To zawsze zgadzało się z samym sobą, na identyfikatorach wystarczająco małych, aby reprezentować. Ids są teraz własnymi cyfrowymi ciągami ciastka, więc materiał pasuje do bajtu sygnatariusza Za bajt i są sprawdzane przez kształt, a nie przez Number(), który pokonałby Słowem. Wygaśnięcie pozostaje liczbą - epokowe sekundy wynoszą 1,8e9 i nie są w niebezpieczeństwie. Nic nie wywołuje parseAndVerifyCookie dzisiaj, w którejkolwiek z trzech aplikacji Next; plik cookie jest Przesłane do usług dosłownie. Więc to naprawia raczej minę lądową niż awarię... ale Jest to mina lądowa na auth path, gdzie porażka wyglądałaby jak odrzucony login. Zamiast okrągłego robaka. Nowe testy są sprawdzone przez mutację: 4 z 6 niepowodzeń w stosunku do poprzedniego wdrożenia. Ta sama poprawka trafia do kamo-login i kamo-rejestr, które niosą rozbieżne kopie tego Z tą samą wadą.

Wszystkie zmiany

Jak to, co widzisz żeglugę?

Każda z tych aktualizacji automatycznie ląduje w miejscu pracy. Zacznij za darmo i obserwuj, jak rośnie tydzień po tygodniu.

Start Free ForeverZobacz ceny