Linux va FreeBSD TCP steklaridagi zaifliklar xizmatni masofadan rad etishga olib keladi

Netflix kompaniyasi oshkor bo'ldi bir nechta tanqidiy zaifliklar Linux va FreeBSD TCP steklarida, bu sizga yadro ishdan chiqishini masofadan boshlash yoki maxsus mo'ljallangan TCP paketlarini (o'lim paketi) qayta ishlashda ortiqcha resurs sarfini keltirib chiqarish imkonini beradi. Muammolar sabab bo'lgan TCP paketidagi ma'lumotlar blokining maksimal hajmi (MSS, Maksimal segment hajmi) va ulanishlarni tanlab tasdiqlash mexanizmi (SACK, TCP Selective Acknowledgement) uchun ishlov beruvchilarda xatolar.

  • CVE-2019-11477 (SACK Panic) - 2.6.29 dan boshlab Linux yadrolarida paydo bo'ladigan muammo va ishlov beruvchida butun sonlar to'lib ketganligi sababli bir qator SACK paketlarini yuborish orqali yadro vahimasini keltirib chiqarishga imkon beradi. Hujum qilish uchun TCP ulanishi uchun MSS qiymatini 48 baytga o'rnatish kifoya (pastki chegara segment hajmini 8 baytga o'rnatadi) va ma'lum bir tarzda joylashtirilgan SACK paketlari ketma-ketligini yuborish.

    Xavfsizlik yechimlari sifatida siz SACK-ni qayta ishlashni o'chirib qo'yishingiz mumkin (/proc/sys/net/ipv0/tcp_sack-ga 4 yozing) yoki to'sib qo'ymoq past MSS bilan ulanishlar (faqat sysctl net.ipv4.tcp_mtu_probing 0 ga o'rnatilganda ishlaydi va past MSS bilan ba'zi oddiy ulanishlarni buzishi mumkin);

  • CVE-2019-11478 (SACK Slowness) - SACK mexanizmining buzilishiga (4.15 yoshdan kichik Linux yadrosidan foydalanilganda) yoki ortiqcha resurs sarflanishiga olib keladi. Muammo qayta uzatish navbatini (TCP qayta uzatish) qismlarga ajratish uchun ishlatilishi mumkin bo'lgan maxsus tayyorlangan SACK paketlarini qayta ishlashda yuzaga keladi. Xavfsizlikning vaqtinchalik echimlari oldingi zaiflikka o'xshaydi;
  • CVE-2019-5599 (SACK Slowness) - bitta TCP ulanishi doirasida maxsus SACK ketma-ketligini qayta ishlashda yuborilgan paketlar xaritasining parchalanishiga va resursni ko'p talab qiladigan ro'yxatni ro'yxatga olish operatsiyasini bajarishga imkon beradi. Muammo FreeBSD 12 da RACK paket yo'qotilishini aniqlash mexanizmi bilan paydo bo'ladi. Vaqtinchalik yechim sifatida siz RACK modulini o'chirib qo'yishingiz mumkin;
  • CVE-2019-11479 - buzg'unchi Linux yadrosini javoblarni bir nechta TCP segmentlariga bo'lishiga olib kelishi mumkin, ularning har biri atigi 8 bayt ma'lumotni o'z ichiga oladi, bu esa trafikning sezilarli darajada oshishiga, protsessor yuklanishining oshishiga va aloqa kanalining tiqilib qolishiga olib kelishi mumkin. Himoya qilish uchun vaqtinchalik yechim sifatida tavsiya etiladi. to'sib qo'ymoq past MSS bilan ulanishlar.

    Linux yadrosida muammolar 4.4.182, 4.9.182, 4.14.127, 4.19.52 va 5.1.11 nashrlarida hal qilindi. FreeBSD uchun tuzatish sifatida mavjud yamoq. Tarqatishlarda yadro paketlari uchun yangilanishlar allaqachon chiqarilgan Debian, RHEL, SUSE/openSUSE. Tayyorgarlik vaqtida tuzatish Ubuntu, Fedora ΠΈ Arch Linux.

    Manba: opennet.ru

  • a Izoh qo'shish