Қызмет көрсетуден қашықтан бас тартуға әкелетін Linux және FreeBSD TCP стектеріндегі осалдықтар

Netflix компаниясы ашылды бірнеше сыни осалдықтар Linux және FreeBSD TCP стектерінде ядроның бұзылуын қашықтан бастауға немесе арнайы әзірленген TCP пакеттерін өңдеу кезінде ресурстарды шамадан тыс тұтынуды тудыруға мүмкіндік береді (өлім пакеті). Мәселелер туындаған TCP пакетіндегі деректер блогының максималды өлшемі (MSS, Максималды сегмент өлшемі) және қосылымдарды таңдамалы растау механизмі (SACK, TCP таңдаулы растау) үшін өңдеушілердегі қателер.

  • CVE-2019-11477 (SACK Panic) - 2.6.29 бастап Linux ядроларында пайда болатын мәселе және өңдегіштегі бүтін сандардың толып кетуіне байланысты SACK пакеттерінің сериясын жіберу арқылы ядро ​​дүрбелеңін тудыруға мүмкіндік беретін мәселе. Шабуыл жасау үшін TCP қосылымы үшін АЖ мәнін 48 байтқа орнату жеткілікті (төменгі шек сегмент өлшемін 8 байтқа дейін белгілейді) және белгілі бір түрде реттелген SACK пакеттерінің тізбегін жіберу.

    Қауіпсіздікті шешу ретінде SACK өңдеуді өшіруге болады (/proc/sys/net/ipv0/tcp_sack ішіне 4 жазу) немесе блок төмен АЖ қосылымдары (sysctl net.ipv4.tcp_mtu_probing 0 мәніне орнатылғанда ғана жұмыс істейді және АЖ төмен кейбір қалыпты қосылымдарды бұзуы мүмкін);

  • CVE-2019-11478 (SACK Slowness) - SACK механизмінің бұзылуына (4.15 жастан кіші Linux ядросын пайдаланған кезде) немесе ресурстарды шамадан тыс тұтынуға әкеледі. Мәселе қайта жіберу кезегін (TCP қайта жіберу) фрагменттеу үшін пайдалануға болатын арнайы жасалған SACK пакеттерін өңдеу кезінде туындайды. Қауіпсіздікті жою жолдары алдыңғы осалдыққа ұқсас;
  • CVE-2019-5599 (SACK Slowness) - бір TCP қосылымында арнайы SACK тізбегін өңдеу кезінде жіберілген пакеттер картасының фрагментациясын тудыруға және ресурсты көп қажет ететін тізімді санау операциясын орындауға мүмкіндік береді. Мәселе FreeBSD 12 жүйесінде RACK пакетінің жоғалуын анықтау механизмі арқылы пайда болады. Шешім ретінде RACK модулін өшіруге болады;
  • CVE-2019-11479 - шабуылдаушы Linux ядросының жауаптарды бірнеше TCP сегменттеріне бөлуге әкелуі мүмкін, олардың әрқайсысында тек 8 байт деректер бар, бұл трафиктің айтарлықтай өсуіне, орталық процессор жүктемесінің артуына және байланыс арнасының бітелуіне әкелуі мүмкін. Бұл қорғаныс үшін уақытша шешім ретінде ұсынылады. блок төмен АЖ қосылымдары.

    Linux ядросында мәселелер 4.4.182, 4.9.182, 4.14.127, 4.19.52 және 5.1.11 шығарылымдарында шешілді. FreeBSD үшін түзету ретінде қол жетімді патч. Дистрибуцияларда ядро ​​пакеттеріне жаңартулар әлдеқашан шығарылған Debian, RHEL, SUSE/openSUSE. Дайындық кезінде түзету Ubuntu, Fedora и Arch Linux.

    Ақпарат көзі: opennet.ru

  • пікір қалдыру