Kaugarvutusviga OpenBSD IPv6 virnas

Taustaprotsessis slaacd, mis OpenBSD-s vastutab IPv6 aadresside automaatse konfigureerimise (IPv6 Stateless Address Autoconfiguration, RFC 4862) eest, on avastatud haavatavus, mis põhjustab puhversüsteemi ületäitumise IPv6 marsruutija (RA, Router Advertisement) spetsiaalselt vormindatud kuulutuse vastuvõtmise ajal.

Esialgu oli IPv6 aadressi automaatse konfigureerimise funktsionaalsus rakendatud tuumas, kuid alates OpenBSD 6.2-st on see viidud eraldi privileegituseta protsessi slaacd. Antud protsess vastutab RS (Router Solicitation) sõnumite saatmise ja RA (Router Advertisement) vastuste uurimise eest, milles on teavet marsruutija ja võrguühenduse parameetrite kohta.

Februaris parandati slaacd-s tõrge, mis põhjustas kokku kukkumise, kui 7 serverid oli RDNSS (Recursive DNS Servers) nimekirjas. Selline möödalask on köitnud sõltumatute teadlaste tähelepanu, kes püüdsid uurida slaacd koodi muude vigade osas, mis võivad ilmuda RA sõnumite väljade töötlemisel. Analüüs näitas, et koodis on veel üks probleem, mis ilmneb DNSSL (DNS Search List) välja töötlemisel, mis sisaldab nimekirju domeeninime ja DNS-i hostimismalle.

Iga nimi DNSSL nimekirjas kodeeritakse nullkoodiga eraldajaga ja vahepealsete ühe baitide siltidega, mis määravad järgnevate andmete suuruse. Haavatavus on tingitud sellest, et nimekirja töötlemise koodis kopeeritakse välja suurus muutuja täisarvuga tüüpi ("len = data[pos]"). Seega, kui välja määramisel on väärtus, millel on seadistatud kõrgeim bit, tõlgendatakse seda väärtust tingimuslikus operaatoris negatiivse arvuna ja maksimaalse lubatud suuruse kontroll ("if (len > 63 || len + pos + 1 > datalen) {") ei toimi, mis viib memcpy kutsumiseni parameetriga, mille kopeerimise andmete suurus ületab puhversüsteemi suuruse.

Kaugarvutusviga OpenBSD IPv6 virnas
Kaugarvutusviga OpenBSD IPv6 virnas


Allikas: opennet.ru
Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster