Kolm Linuxi TCP-st leitud haavatavust põhjustab teenuse kaugkeeldumise

linuxi krahh

Recientemente avaldas uudise Linuxi TCP-virnade mitme kriitilise haavatavuse tuvastamise kohta ja FreeBSD seda lubab ründajal eemalt algatada tuuma tõrke või põhjustada liigselt ressursikulu spetsiaalselt loodud TCP-pakettide (surmapakett) töötlemisega.

Probleemid on põhjustatud andmebloki maksimaalse suurusega käepidemete vigadest TCP paketis (MSS, segmendi maksimaalne suurus) ja ühenduse valikulise tuvastamise mehhanism (SACK, selektiivne TCP tuvastamine).

Mis on valikuline tunnustamine?

Valikuline TCP-tuvastamine (SACK) see on mehhanism, kus andmesaaja saab informeerida saatjat kõigist edukalt aktsepteeritud segmentidest.

See Võimaldab saatjal puuduvad voosegmendid uuesti edastada tema "hästi tuntud" komplektist. Kui TCP SACK on keelatud, on kogu jada uuesti edastamiseks vaja palju suuremat ülekandekomplekti.

Linuxi kernelis on probleemid lahendatud versioonides 4.4.182, 4.9.182, 4.14.127, 4.19.52 ja 5.1.11. FreeBSD lahendus on saadaval plaastrina.

Tuuma paketi värskendused on välja antud Debiani, RHELi, SUSE / openSUSE, ALTi, Ubuntu, Fedora ja Arch Linuxi jaoks.

CVE-2019-11477 (SACK Paanika)

probleem avaldub Linuxi tuumades alates 2.6.29 ja võimaldab teil tuuma kokku kukkuda (paanika) kontrolleri täisarvu ülevoolu tõttu SACK-pakettide seeria saatmisel.

Rünnaku jaoks piisab, kui määrate TCP-ühenduse jaoks MSS-i väärtuseks 48 baiti ja järjestatud SACK-pakettide jada saatmine teatud viisil.

Probleemi olemus on see, et struktuur tcp_skb_cb (sokli puhver) on mõeldud 17 fragmendi hoidmiseks ("Määrake MAX_SKB_FRAGS (65536 / PAGE_SIZE + 1) => 17").

Paketi saatmise ajal paigutatakse see saatmisjärjekorda ja tcp_skb_cb salvestab paketi üksikasjad, nagu järjekorranumber, lipud, samuti väljad "tcp_gso_segs" ja "tcp_gso_size", mida kasutatakse saatmiseks. Segmentide teave kontrollerile (TSO, Segmentide segmentide allalaadimine) segmentide töötlemiseks võrgukaardi poolel.

Kui pakett SACK on lubatud ja draiver toetab TSO-d, salvestatakse tükid pakettide kadumise või pakettide valikulise edasiandmise vajaduse ilmnemisel.

Kaitsmise lahendusena saate keelata SACK-i töötlemise või blokeerida ühendused väikese MSS-iga (töötab ainult siis, kui määrate sysctl net.ipv4.tcp_mtu_probing väärtuseks 0 ja võib mõne normaalse rikkuda) madala MSS-iga.

CVE-2019-11478 (KOTI aeglus)

See läbikukkumine põhjustab SACK-mehhanismi katkestuse (Linuxi kerneli kasutamisel punktis 4.15) või ressursside liigne tarbimine.

Probleem ilmneb spetsiaalselt välja töötatud SACK-pakettide töötlemisel, mida saab kasutada edasisaatmisjärjekorra (TCP uuesti edastamine) killustamiseks. Kaitselahendused on sarnased eelmiste haavatavustega

CVE-2019-5599 (KOTI aeglus)

Võimaldab tekitada SACK-järjestuse töötlemisel saadetud pakettide kaardi killustatust ühe TCP-ühenduse piires ja käivitab ressursimahuka loendiotsingu.

Probleem avaldub FreeBSD 12-s RACK-i pakettkadude tuvastamise mehhanismiga. Lahendusena saate keelata mooduli RACK (vaikimisi laadimata, keelatud, määrates sysctl net.inet.tcp.functions_default = freebsd)

CVE-2019-11479

Viga võimaldab ründajal panna Linuxi kernel jagama vastused mitmeks TCP segmendiks, millest igaüks sisaldab ainult 8 baiti andmeid, mis võib põhjustada märkimisväärset liikluse kasvu, suurenenud protsessori koormust ja ummistunud sidekanalit.

Lisaks kulutab see täiendavaid ressursse (protsessori toide ja võrgukaart).

See rünnak nõuab ründajalt pidevaid pingutusi ja tabamused lõpevad varsti pärast seda, kui ründaja lõpetab liikluse saatmise.

Selle rünnaku ajal töötab süsteem piiratud võimsusega, põhjustades nii mõnelegi kasutajale teenuse keelamise.

Kaugkasutaja võib selle probleemi käivitada, määrates segmendi maksimaalse suuruse (MSS) TCP-ühenduse madalaimal piiril (48 baiti) ja spetsiaalselt loodud SACK-pakettide jada saatmine.

Lahendusena on soovitatav blokeerida madala MSS-iga ühendused.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.