Linux un FreeBSD TCP steku ievainojamības, kas noved pie attālināta pakalpojuma atteikuma

Netflix uzņēmums atklāts vairākas kritiskas ievainojamības Linux un FreeBSD TCP stekos, kas ļauj attālināti iniciēt kodola avāriju vai izraisīt pārmērīgu resursu patēriņu, apstrādājot īpaši izstrādātas TCP paketes (packet-of-death). Problēmas ko izraisa apdarinātāju kļūdas maksimālajam datu bloka izmēram TCP paketē (MSS, Maximum segment size) un savienojumu selektīvās apstiprināšanas mehānismam (SACK, TCP Selective Acknowledgement).

  • CVE-2019-11477 (SACK Panic) - problēma, kas parādās Linux kodolos, sākot no 2.6.29 un ļauj izraisīt kodola paniku, nosūtot virkni SACK pakešu, kas rodas vesela skaitļa pārpildes dēļ apstrādātājā. Lai uzbruktu, pietiek ar TCP savienojuma MSS vērtību iestatīt uz 48 baitiem (apakšējā robeža nosaka segmenta lielumu līdz 8 baitiem) un nosūtīt noteiktā veidā sakārtotu SACK pakešu secību.

    Kā drošības risinājumu varat atspējot SACK apstrādi (ierakstīt 0 mapē /proc/sys/net/ipv4/tcp_sack) vai bloķēt savienojumi ar zemu MSS (darbojas tikai tad, ja sysctl net.ipv4.tcp_mtu_probing ir iestatīts uz 0 un var traucēt dažus parastos savienojumus ar zemu MSS);

  • CVE-2019-11478 (SACK lēnums) - izraisa SACK mehānisma darbības traucējumus (ja tiek izmantots Linux kodols, kas jaunāks par 4.15) vai pārmērīga resursu patēriņa. Problēma rodas, apstrādājot īpaši izstrādātas SACK paketes, kuras var izmantot atkārtotas pārraides rindas fragmentēšanai (TCP atkārtota pārraide). Drošības risinājumi ir līdzīgi iepriekšējai ievainojamībai;
  • CVE-2019-5599 (SACK Slowness) - ļauj izraisīt nosūtīto pakešu kartes sadrumstalotību, apstrādājot īpašu SACK secību viena TCP savienojuma ietvaros, un izraisīt resursietilpīgas saraksta uzskaitīšanas operācijas veikšanu. Problēma parādās FreeBSD 12 ar RACK pakešu zudumu noteikšanas mehānismu. Kā risinājumu varat atspējot RACK moduli;
  • CVE-2019-11479 - uzbrucējs var likt Linux kodolam sadalīt atbildes vairākos TCP segmentos, no kuriem katrs satur tikai 8 baitus datu, kas var izraisīt ievērojamu trafika pieaugumu, palielinātu CPU slodzi un sakaru kanāla aizsērēšanu. Tas ir ieteicams kā risinājums aizsardzībai. bloķēt savienojumi ar zemu MSS.

    Linux kodolā problēmas tika atrisinātas laidienos 4.4.182, 4.9.182, 4.14.127, 4.19.52 un 5.1.11. FreeBSD labojums ir pieejams kā plāksteris. Izplatījumos kodola pakotņu atjauninājumi jau ir izlaisti Debian, RHEL, SUSE/openSUSE. Korekcija sagatavošanas laikā Ubuntu, Fedora и Arch Linux.

    Avots: opennet.ru

  • Pievieno komentāru