Dobësi e largët në stack-un IPv6 të OpenBSD

Në procesin e sfondit slaacd, që në OpenBSD është përgjegjës për autokonfigurimin e adresave IPv6 (IPv6 Stateless Address Autoconfiguration, RFC 4862), është zbuluar një dobësi që shkakton tejmbushje të buffer-it gjatë marrjes së një njoftimi të posaçëm të formatuar të ruterit IPv6 (RA, Router Advertisement).

Fillimisht, funksionaliteti i autokonfigurimit të adresave IPv6 ishte implementuar në nivelin e kernelit, por duke filluar nga OpenBSD 6.2 u zhvendos në një proces të veçantë pa privilegje, slaacd. Ky proces është përgjegjës për dërgimin e mesazheve RS (Router Solicitation) dhe për analizimin e përgjigjeve RA (Router Advertisement) me informacion për ruterin dhe parametrat e lidhjes së rrjetit.

Në shkurt, në slaacd u korrigjua një gabim që shkaktonte ndërprerje të menjëhershme të procesit në rast se specifikoheshin 7 serverësh në listën RDNSS (Recursive DNS Servers). Kjo pakujdesi tërhoqi vëmendjen e studiuesve të pavarur, të cilët vendosën të analizonin kodin e slaacd për gabime të tjera që shfaqen gjatë përpunimit të fushave në mesazhet RA. Analiza tregoi se në kod ekziston edhe një problem tjetër, që shfaqet gjatë përpunimit të fushës DNSSL (DNS Search List), e cila përfshin lista emrash domenesh dhe modele hostësh për DNS.

Çdo emĂ«r nĂ« listĂ«n DNSSL kodohet duke pĂ«rdorur njĂ« ndarĂ«s me kod zero dhe etiketa tĂ« ndĂ«rmjetme njĂ«bajtĂ«she, tĂ« cilat pĂ«rcaktojnĂ« madhĂ«sinĂ« e tĂ« dhĂ«nave qĂ« vijojnĂ«. DobĂ«sia shkaktohet nga fakti se nĂ« kodin e analizimit tĂ« listĂ«s, fusha e madhĂ«sisĂ« kopjohet nĂ« njĂ« variabĂ«l me tip integer me shenjĂ« (“len = data[pos]”). PĂ«r pasojĂ«, nĂ«se nĂ« kĂ«tĂ« fushĂ« vendoset njĂ« vlerĂ« me bitin mĂ« tĂ« lartĂ« tĂ« aktivizuar, kjo vlerĂ« do tĂ« interpretohet nĂ« operatorin kushtor si numĂ«r negativ dhe kontrolli pĂ«r madhĂ«sinĂ« maksimale tĂ« lejuar (“if (len > 63 || len + pos + 1 > datalen) {“) nuk do tĂ« funksionojĂ«, gjĂ« qĂ« do tĂ« çojĂ« nĂ« thirrjen e memcpy me njĂ« parametĂ«r ku madhĂ«sia e tĂ« dhĂ«nave qĂ« kopjohen tejkalon madhĂ«sinĂ« e buffer-it.

Dobësi e largët në stack-un IPv6 të OpenBSD
Dobësi e largët në stack-un IPv6 të OpenBSD


Burimi: opennet.ru
Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster