Pegang in64 tanda ID sebagai digit, bukan sebagai angka

Fixkamo-internal
Dikirim
19 Agustus 2026 pukul 02.18 UTC
Penulis
kamo
Commit
f55a95c

KToken tidak bisa memverifikasi token nyata. Empat ids yang dibawanya adalah in64s, dan Java signer (kamo- shared-library KToken # canonicForMac) menambahkan masing-masing sebagai 'long' mentah, jadi semua 19 digit masuk ke MaC material. Kelas ini membaca mereka dengan Nomor (), yang putaran masa lalu 2 ^ 53, dan setiap setter kemudian diterapkan 'v melepas 124; 0' -- pemotongan 32- bit di atas pembulatan. 1168485648209608710 keluar sebagai integer kecil, HMAC yang dihitung ulang tidak cocok salah satu server ditandatangani, dan parseAndVerifyCookie kembali null: sebuah token valid dibaca sebagai ditempa. Ini hanya pernah setuju dengan dirinya sendiri, pada ID cukup kecil untuk mewakili. ID sekarang sendiri string digit cookie, sehingga material cocok signer byte untuk byte, dan divalidasi oleh bentuk daripada Number (), yang akan mengalahkan titik. Panjangnya tetap sebuah angka -- epoch detik adalah ~ 1.8e9 dan tidak dalam bahaya. Tidak ada panggilan parseAndVerifyCookie hari ini, di salah satu dari tiga aplikasi berikutnya; cookie adalah diteruskan ke layanan verbatim. Jadi ini perbaikan sebuah ranjau darat daripada outage - tapi itu adalah ranjau darat di jalur auth, dimana kegagalan akan terlihat seperti login yang ditolak daripada bulatan serangga. Tes baru telah terbukti bersama: 4 dari 6 kegagalan terhadap implementasi sebelumnya. Perbaikan yang sama pergi ke kamo- login dan kamo- register, yang membawa diverged salinan ini file dengan cacat identik.

Semua perubahan

Seperti apa yang Anda lihat pengiriman?

Semua pembaruan ini secara otomatis mendarat di ruang kerja Anda. Mulai bebas dan menontonnya tumbuh minggu demi minggu.

Mulai Bebas SelamanyaTampilkan Harga