Feilen oppstod fordi NFS-kjernen oppdaterte GSS-sekvensnummer ved retransmisjon av forespørsler med samme XID, og dermed forsøkte å verifisere svar med feil sekvensnummer.
Retransmisjon av RPC-forespørsler med oppdatert GSS-sekvensnummer førte til sjekk av feil HMAC-signatur og forårsaket -EACCES-feil.
Linux-kjernen implementerte ikke RFC2203 sitt forslag om å cache gamle sekvensnumre for å prøve å verifisere svar med tidligere sekvensnumre.
En patch ble skrevet for å legge til sekvensnummercache etter RFC2203, slik at alle gjenstående sekvensnumre sjekkes ved mottak av svar.
En andre patch forhindrer umiddelbar retransmisjon ved signaturmismatch, og overlater retransmisjon til normal timeout-logikk.
Begge endringene er sendt upstream og vil inngå i Linux-versjon 6.16.
For å debugge feilen ble det brukt en FUSE-basert minnefilserver for å generere store testfiler, bpftrace for å fange kernel-funksjoner og en Wireshark-plugin for å verifisere HMAC.
En menneskelig NFQUEUE-basert «firewall» ble brukt for å forsinke pakker og automatisk gjenskape timing som utløste feilen.
Get notified when new stories are published for "🇳🇴 Hacker News Norsk Bokmål"