- Expédié
- 19 août 2026 à 02:18 UTC
- Auteur
- kamo
- Commite
- f55a95c
KToken n'a pas pu vérifier un vrai jeton. Les quatre ids qu'il porte sont int64s, et le Java signataire (kmo-shared-library KToken-canonicalForMac) append chacun en tant que «longue» brute, donc tout 19 chiffres entrent dans le matériau MAC. Cette classe les lit avec Number(), qui passe 2x53, et chaque setter a ensuite appliqué 'v'0' -- une troncature de 32 bits sur le dessus de l'arrondi. 1168485648209608710 est sorti comme un petit nombre entier, le HMAC recalculé n'a pas égalé le l'un le serveur signé, et parseAndVerifyCookie est revenu nul: un jeton valide lu comme falsifié. Il n'est d'accord que sur lui-même, sur les ids assez petits pour représenter. Les ids sont maintenant les propres chaînes de doigts du cookie, donc le matériau correspond à l'octet de signataire pour l'octet, et sont validés par la forme plutôt que par le nombre(), ce qui irait à l'encontre de la point. L'expiration du séjour reste un nombre - les secondes d'âge d'environ 8 % et ne sont pas menacées. Rien n'appelle parseAndVerifyCookie aujourd'hui, dans l'une des trois prochaines applications; le cookie est transmis aux services in extenso. Donc cela fixe une mine terrestre plutôt qu'une panne -- mais c'est une mine terrestre dans un chemin d'autoth, où l'échec ressemblerait à une connexion rejetée plutôt qu'un bogue arrondi. Les nouveaux tests sont prouvés par mutation: 4 des 6 échecs contre la mise en œuvre précédente. La même solution va à kamo-login et kamo-register, qui transportent des copies divergentes de ce fichier avec le défaut identique.