The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

26.09.2018 11:18  Локальная root-уязвимость в ядре Linux

Компания Qualys раскрыла информацию об уязвимости (CVE-2018-14634) в ядре Linux. Проблема вызвана целочисленным переполнением в функции create_elf_tables() и проявляется на 64-разрядных системах, имеющих более 32 Гб ОЗУ. Локальный атакующий может эксплуатировать уязвимость через исполняемый файл с флагом SUID root для получения полноценных root-привилегий в системе.

Вызывающая проблему ошибка была внесена в ядро в июле 2007 года вместе с кодом для поддержки аргументов переменной длины. Около года назад в ядро было принято исправление, ограничивающее размер стека для аргументов exec(). Данное исправление блокирует возможность эксплуатации уязвимости, но некоторые дистрибутивы не портировали его в свои длительно поддерживаемые пакеты с ядром.

Например, проблема затрагивает ядро, поставляемое в Red Hat Enterprise Linux 6 и 7, Ubuntu 12.04 и Debian 8. Уязвимость эксплуатируется через запуск при помощи функции execve() suid-файла с передачей ему очень большого числа аргументов (около 16 миллиардов). Для успешной атаки в системе должно быть как минимум 32GB свободной оперативной памяти. Код прототипов эксплоитов доступен в открытом доступе.

Кроме того, в ядре выявлена уязвимость (CVE-2018-14633), затрагивающая код iscsi target. Проблема вызвана ошибкой в функции chap_server_compute_md5() и позволяет записать 17 байт вне границ стека через отправку специального запроса авторизации от ISCSI initiator. Проблема не проявляется на системах с RHEL-7/x86_64. Для совершения атаки требуется, чтобы в системе был активен ISCSI target.

  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Опасные уязвимости в утилитах beep и patch
  3. OpenNews: Уязвимость в Glibc, позволяющая поднять привилегии в системе
  4. OpenNews: Уязвимость в Glibc ld.so, позволяющая поднять свои привилегии в системе
  5. OpenNews: Локальная уязвимость в ядре Linux, позволяющая получить root-доступ
  6. OpenNews: Раскрыты детали атаки Stack Сlash и 15 root-эксплоитов для разных ОС
Лицензия: CC-BY
Тип: Проблемы безопасности
Ключевые слова: linux, kernel, suid
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.3, Нанобот (ok), 11:34, 26/09/2018 [ответить] [показать ветку] [···]    [к модератору]
  • –1 +/
    >очень большого числа аргументов (около 16 миллиардов)
    >минимум 32GB свободной оперативной памяти

    подождите,подождите. 16 млрд аргументов по 8 байт каждый это уже 128GB

     
     
  • 2.4, jeste.space (?), 11:35, 26/09/2018 [^] [ответить]    [к модератору]
  • +/
    16 млрд по 2 байта? или не работает?
     
     
  • 3.7, Нанобот (ok), 11:47, 26/09/2018 [^] [ответить]     [к модератору]
  • –1 +/
    ну, я исхожу из того, что каждый аргумент - ссылка на строку, соответственно, ка... весь текст скрыт [показать]
     
     
  • 4.12, Аноним (12), 12:09, 26/09/2018 [^] [ответить]    [к модератору]  
  • +/
    В C(СИ) массив строк (для exec..) это просто кусок памяти, а разделение в нём - нулевые символы \0
     
     
  • 5.16, Нанобот (ok), 12:24, 26/09/2018 [^] [ответить]    [к модератору]  
  • +/
    а, ну тогда всё правильно в новости написано, был неправ
     
  • 5.17, Аноним (17), 12:48, 26/09/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    В C как раз argv это массив указателей на строки
     
     
  • 6.21, z (??), 13:41, 26/09/2018 [^] [ответить]    [к модератору]  
  • +/
    процессу передаётся именно одна большая строка, где разделители это \0, crt её потом парсит и устанавливает argv[] для сишных прогамм
     
     
  • 7.30, Аноним (30), 15:03, 26/09/2018 [^] [ответить]    [к модератору]  
  • +/
    Угу, поэтому в _C_ argv — это массив указателей.
     
     
  • 8.48, mickvav (?), 19:37, 26/09/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Это он в userspace-коде - массив указателей. А в ядре, которое тоже, внезапно, на С - не обязан.
     
  • 8.53, Аноним (-), 02:15, 27/09/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Паря, до того как твой main получит управление - в обычной ситуации startup де... весь текст скрыт [показать]
     
  • 7.32, ананим.orig (?), 15:07, 26/09/2018 [^] [ответить]     [к модератору]  
  • +/
    откуда вы все берётесь то Ещё раз - целочисленным переполнением - в функции ... весь текст скрыт [показать]
     
  • 2.22, Ordu (ok), 13:46, 26/09/2018 [^] [ответить]     [к модератору]  
  • +/
    В статье выше есть все необходимые ссылки, чтобы объяснить это ... весь текст скрыт [показать]
     
  • 1.11, Аноним (11), 12:00, 26/09/2018 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    free total used free shared buff cache ava... весь текст скрыт [показать]
     
     
  • 2.13, анонимец (?), 12:16, 26/09/2018 [^] [ответить]    [к модератору]  
  • +/
    uname -r забыл показать
     
     
  • 3.49, Аноним (49), 20:16, 26/09/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    4.4.0-17134-Microsoft
     
  • 3.60, Аноним (60), 09:31, 27/09/2018 [^] [ответить]    [к модератору]  
  • +/
    $ uname -a
    Linux steinberg 4.18.1-arch1-1-ARCH #1 SMP PREEMPT Wed Aug 15 21:11:55 UTC 2018 x86_64 GNU/Linux

    Оба бинарника компилировал, suid ставил.

     
     
  • 4.70, Мегазаычы (?), 02:46, 03/10/2018 [^] [ответить]    [к модератору]  
  • +/
    > Около года назад в ядро было принято исправление

    очевидно, что в 4.18.1 оно есть. ищи ядро без него.

     
  • 2.15, pull request (?), 12:22, 26/09/2018 [^] [ответить]     [к модератору]  
  • +/
    gcc -O0 -o poc-suidbin poc-suidbin c chown root poc-suidbin chmod 4555 poc... весь текст скрыт [показать]
     
  • 1.18, Аноним (18), 12:59, 26/09/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Тоесть эксплоит возможен только с рутом?
    Сначала выставляешь от рута set-uid бит, а затем эксплуатируешь. Или я что-то недопонимаю...
     
     
  • 2.20, pull request (?), 13:39, 26/09/2018 [^] [ответить]     [к модератору]  
  • +/
    Читаем тут https seclists org oss-sec 2018 q3 274 Короче, надо найти подходящ... весь текст скрыт [показать]
     
  • 2.23, Аноним (23), 13:53, 26/09/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    Есть утилиты в системе с уже установленным SUID. Например, ping.
     
     
  • 3.45, Anonymouss (?), 17:21, 26/09/2018 [^] [ответить]     [к модератору]  
  • +/
    Это в каких системах stat bin ping File bin ping Size 66176 ... весь текст скрыт [показать]
     
     
  • 4.51, Stax (ok), 21:32, 26/09/2018 [^] [ответить]    [к модератору]  
  • +/
    Ну возьмите at, chfn/chsh, crontab, su, mount/umount или десятки других. Замена в пинге сьюда на capabilities никак не убирает остальные suid-бинарники.
     
     
  • 5.54, Аноним (-), 02:17, 27/09/2018 [^] [ответить]    [к модератору]  
  • –3 +/
    Что за наф?! Это заем бы mount'у быть suid? Чтобы всякие левые рожи могли все перемонтировать как им удобно и систему поизящнее ломануть?
     
  • 1.19, Аноним (19), 13:22, 26/09/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –5 +/
    Вывод: бежим на другое ядро, например

    >http://www.project-trident.org/download/

    Trident-BETA3-x64!!!

     
     
  • 2.25, Аноним (23), 13:58, 26/09/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    Нет уж, к бздунам вы сами бегите.

    PS А это "x64" лишний раз почёркивает почитание бздунами Windows.

     
     
  • 3.27, ryoken (ok), 14:20, 26/09/2018 [^] [ответить]    [к модератору]  
  • +/
    Дада, ибо правильно пишется - AMD64 :D.
     
  • 3.33, Аноним (33), 15:12, 26/09/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Это родственники Дениски Попова Смотрите дети, классические двойные стандарты л... весь текст скрыт [показать]
     
  • 2.34, Аноним (33), 15:23, 26/09/2018 [^] [ответить]     [к модератору]  
  • +/
    Отличное описание да-да, цитированно полностью из которого все становится поня... весь текст скрыт [показать]
     
  • 2.55, Аноним (-), 02:21, 27/09/2018 [^] [ответить]     [к модератору]  
  • +/
    Расчет на эффект неуловимого джо, чтоли Linux то статическими анализаторами, фу... весь текст скрыт [показать]
     
     
  • 3.64, Аноним (33), 12:26, 27/09/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Да откуда Никто там об этом, как обычно у бздюков и прочих бесперепрончатых, не... весь текст скрыт [показать]
     
  • 1.26, ryoken (ok), 14:20, 26/09/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Я так понимаю, что в атакуемый сервант надо вкрутить памяти более 32Гб, а потом его пинать, да? :)
     
     
  • 2.40, Виталик (??), 15:54, 26/09/2018 [^] [ответить]    [к модератору]  
  • +/
    Мажоры должны страдать.
     
  • 1.31, Аноним (31), 15:04, 26/09/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Имеющих более 32 Гб ОЗУ. расходимся.
     
     
  • 2.36, ыы (?), 15:31, 26/09/2018 [^] [ответить]    [к модератору]  
  • +6 +/
    Никто и не сомневался .. что новость не для активных участников форума... :)
     
     
  • 3.59, гг (?), 09:28, 27/09/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    Ну у меня с дюжину серваков с 200 Гб ОЗУ. Парочка даже просто лежит пыль копит.
     
     
  • 4.66, Аноним (66), 14:38, 29/09/2018 [^] [ответить]    [к модератору]  
  • +/
    Может, поднимешь на них OpenDNS, SearX или ещё что-нибудь такое? Люди поблагодарят хотя бы.
     
     
  • 5.69, Michael Shigorin (ok), 13:15, 01/10/2018 [^] [ответить]    [к модератору]  
  • +/
    > Может, поднимешь на них OpenDNS, SearX или ещё что-нибудь такое?

    Пыльные, очевидно, в запасе и работать сейчас не должны.

     
  • 1.35, Аноним (35), 15:26, 26/09/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Локальная уязвимость, я так понимаю, что можно проcто пройтись по серваку молотком, чем запихивать в него 32 гектара и взламать?
     
     
  • 2.37, ыы (?), 15:39, 26/09/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Лет 20 назад... подобные вопли можно было бы еще понять...но сейчас... ныть из - за 32 гигов оперативки.. домашние компы столько имеют...
     
     
  • 3.38, КО (?), 15:50, 26/09/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    32 свободных. Т.е. надо где-то 48. Ну и голую операционку. А вот зачем взламывать такой комп?
     
     
  • 4.39, КО (?), 15:51, 26/09/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    С другой стороны, если swap в zram, то надо немного меньше. :)
     
  • 3.57, лютый лютик__ (?), 07:57, 27/09/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    После массового психоза канализации Wвиртуализации сколько сейчас не нарезанн... весь текст скрыт [показать]
     
  • 2.42, agent (??), 16:46, 26/09/2018 [^] [ответить]    [к модератору]  
  • +/
    Плохо понимаешь. Имеется ввиду, что нужен локальный пользователь
     
  • 2.43, Аноним (43), 16:55, 26/09/2018 [^] [ответить]    [к модератору]  
  • +/
    можно взломать сервер виртуального хостинга, например.
     
     
  • 3.47, Аноним (47), 18:07, 26/09/2018 [^] [ответить]    [к модератору]  
  • +/
    И каким волшебным образом ты попадёшь на ноду?
     
     
  • 4.50, ананим231 (?), 21:06, 26/09/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    через дырявый вротпресс
     
  • 1.67, scorry (ok), 02:12, 01/10/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Ubuntu 12 уже не поддерживается. Скажите им кто-нибудь, пожалуйста.
     
  • 1.68, Michael Shigorin (ok), 13:14, 01/10/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Как отметил наш майнтейнер основного ядра,[CODE]Сommit ff6f95dcf55d34def126a3c7aae3080af66eada7
    Author: Dmitry V. Levin <ldv@altlinux>
    Date:   Tue May 30 15:37:59 2017 +0000

        get_arg_page: limit argv+env strings size for suid/sgid binaries[/CODE]достаточно, чтобы эта дырка в альтовых бранчах была закрыта.

    https://lists.altlinux.org/pipermail/sisyphus/2018-October/367136.html

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor