Mga kahinaan sa Linux at FreeBSD TCP stack na humahantong sa malayuang pagtanggi sa serbisyo

Netflix Company ipinahayag ilang kritikal mga kahinaan sa Linux at FreeBSD TCP stacks, na nagbibigay-daan sa iyong malayuang magsimula ng kernel crash o magdulot ng labis na pagkonsumo ng mapagkukunan kapag nagpoproseso ng mga espesyal na idinisenyong TCP packet (packet-of-death). Mga problema dulot ng mga error sa mga humahawak para sa maximum na laki ng data block sa isang TCP packet (MSS, Maximum na laki ng segment) at ang mekanismo para sa selective acknowledgement ng mga koneksyon (SACK, TCP Selective Acknowledgment).

  • CVE-2019-11477 (SACK Panic) - isang problema na lumilitaw sa mga kernel ng Linux simula sa 2.6.29 at nagbibigay-daan sa iyong magdulot ng kernel panic sa pamamagitan ng pagpapadala ng isang serye ng mga SACK packet dahil sa isang integer overflow sa handler. Upang pag-atake, sapat na upang itakda ang halaga ng MSS para sa isang koneksyon sa TCP sa 48 bytes (ang mas mababang limitasyon ay nagtatakda ng laki ng segment sa 8 bytes) at magpadala ng isang pagkakasunud-sunod ng mga pakete ng SACK na nakaayos sa isang tiyak na paraan.

    Bilang mga solusyon sa seguridad, maaari mong hindi paganahin ang pagpoproseso ng SACK (sumulat ng 0 sa /proc/sys/net/ipv4/tcp_sack) o upang harangan mga koneksyon na may mababang MSS (gumagana lamang kapag ang sysctl net.ipv4.tcp_mtu_probing ay nakatakda sa 0 at maaaring makagambala sa ilang normal na koneksyon na may mababang MSS);

  • CVE-2019-11478 (SACK Slowness) - humahantong sa pagkagambala sa mekanismo ng SACK (kapag gumagamit ng Linux kernel na mas bata sa 4.15) o labis na pagkonsumo ng mapagkukunan. Ang problema ay nangyayari kapag pinoproseso ang mga espesyal na ginawang SACK packet, na maaaring magamit upang i-fragment ang isang retransmission queue (TCP retransmission). Ang mga solusyon sa seguridad ay katulad ng nakaraang kahinaan;
  • CVE-2019-5599 (SACK Slowness) - nagbibigay-daan sa iyo na maging sanhi ng pagkapira-piraso ng mapa ng mga ipinadalang packet kapag nagpoproseso ng isang espesyal na pagkakasunod-sunod ng SACK sa loob ng isang koneksyon ng TCP at maging sanhi ng isang operasyon ng pag-enumeration ng listahan na masinsinang mapagkukunan upang maisagawa. Lumilitaw ang problema sa FreeBSD 12 na may mekanismo ng pagtuklas ng pagkawala ng packet ng RACK. Bilang isang solusyon, maaari mong hindi paganahin ang RACK module;
  • CVE-2019-11479 - ang isang attacker ay maaaring maging sanhi ng Linux kernel na hatiin ang mga tugon sa ilang mga TCP segment, na ang bawat isa ay naglalaman lamang ng 8 byte ng data, na maaaring humantong sa isang makabuluhang pagtaas sa trapiko, pagtaas ng CPU load at pagbara ng channel ng komunikasyon. Inirerekomenda ito bilang isang solusyon para sa proteksyon. upang harangan mga koneksyon na may mababang MSS.

    Sa Linux kernel, ang mga isyu ay nalutas sa mga release 4.4.182, 4.9.182, 4.14.127, 4.19.52, at 5.1.11. Ang isang pag-aayos para sa FreeBSD ay magagamit bilang patch. Sa mga distribusyon, inilabas na ang mga update sa mga kernel package para sa Debian, RHEL, SUSE/openSUSE. Pagwawasto sa panahon ng paghahanda Ubuntu, Fedora ΠΈ Arch Linux.

    Pinagmulan: opennet.ru

  • Magdagdag ng komento