Pogreška u GPSD-u ove će nedjelje vratiti vrijeme 19 godina unazad.

U GPSD paketu, koji iz GPS uređaja izdvaja precizne podatke o vremenu i koordinatama, utvrđen je kritičan problem. Zbog ovog problema vrijeme će se pomaknuti 1024 tjedna unatrag 24. listopada, odnosno na ožujak 2002. Problem utječe na izdanja od 3.20 do 3.22 i riješen je u GPSD-u 3.23. Svi korisnici sustava koji koriste GPSD moraju odmah instalirati ažuriranja ili biti spremni na prekide.

Utjecaj greške može dovesti do nepredvidivih kvarova na raznim sustavima, uključujući one koji izravno ne koriste GPSD, budući da se ova aplikacija koristi za dobivanje preciznih vremenskih podataka s nekih NTP poslužitelja koji se koriste za sinkronizaciju vremena. Vremenski pomak u sustavima može uzrokovati probleme s autentifikacijom (na primjer, jednokratne lozinke, Kerberos i drugi mehanizmi kontrole pristupa s vremenima isteka više neće raditi), provjerom certifikata i izračunima koji manipuliraju vremenskim rasponima (na primjer, izračunavanje vremena korisničkih sesija). GPSD je također dostupan na raznim ugrađenim i mobilnim uređajima, od kojih mnogi više ne primaju ažuriranja firmvera.

GPS protokol uključuje tjedni brojač koji broji tjedne od 5. siječnja 1980. Problem je što je za ovaj brojač tijekom emitiranja dodijeljeno samo 10 bitova, što znači da će se preliti svakih 1023 tjedana (19.7 godina). Prvo prelijevanje dogodilo se 1999., drugo 2019., a treće će se dogoditi 2038. Ove događaje prate proizvođači i za njih su osigurani posebni rukovatelji. Paralelno je implementiran novi format GPS poruke (CNAV), kojim je za brojač dodijeljeno 13 bitova (što znači da se prelijevanje ne očekuje do 2137.).

U GPSD-u je uvedena greška u logici korekcije prijestupne sekunde (dodana radi sinkronizacije svjetskih referentnih atomskih satova sa Zemljinim astronomskim vremenom), što je uzrokovalo prerano oduzimanje broja 1024 od brojača tjedana 24. listopada 2021. Autor koda namjeravao je da se pomak dogodi 31. prosinca 2022., ali pretvorba ovog datuma u broj tjedana nije ispravno izvršena i stvarni broj tjedana prijavljen u provjeri pao je unutar listopada 2021. (navedena vrijednost bila je 2180 umjesto 2600). /* provjera ispravnosti broja tjedna, GPS epohe, u odnosu na prijestupne sekunde * Ne radi dobro s regresijama jer leap_sconds * može biti od prijemnika ili od BUILD_LEAPSECONDS. */ if (0 < session->context->leap_seconds && 19 > session->context->leap_seconds && 2180 < tjedan) { /* pretpostavimo da je prijestupna sekunda = 19 do 31. prosinca 2022. * dakle, tjedan > 2180 je daleko u budućnosti, ne dopuštamo to */ tjedan -= 1024; GPSD_LOG(LOG_WARN, &session->context->errout, "GPS tjedni zbunjenost. Prilagođen tjedan %u za prijestup %d\n", tjedan, session->context->leap_seconds); }

Izvor: opennet.ru

Kupite pouzdan hosting za stranice s DDoS zaštitom, VPS VDS poslužiteljima 🔥 Kupite pouzdan web hosting sa DDoS zaštitom, VPS VDS servere | ProHoster