The OpenNET Project / Index page

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

Критическая уязвимость в ядре Linux, уже эксплуатируемая злоумышленниками

21.10.2016 09:19

В ядре Linux выявлена опасная уязвимость CVE-2016-5195, которой присвоено кодовое имя "Dirty COW", позволяющая непривилегированному локальному пользователю повысить свои привилегии в системе. Проблема отмечена некоторыми экспертами как одна из наиболее опасных уязвимостей в ядре, чему способствует наличие надёжно рабочего прототипа эксплоита, простота проведения атаки (экплоит не зависит от особенностей окружения) и сведения о длительном использовании данной уязвимости злоумышленниками до исправления проблемы (проблема была выявлена на основе изучения перехваченного эксплоита). Уязвимость присутствует с 2007 года и проявляется в ядрах Linux, начиная с выпуска 2.6.22.

Уязвимость вызвана состоянием гонки при обработке copy-on-write (COW) операций в подсистеме управления памятью и позволяет нарушить работу маппинга памяти в режиме только для чтения. С практической стороны, проблема позволяет осуществить запись в области памяти, отражённые в режиме только для чтения. Например, в прототипе эксплоита показано как использовать данную проблему для изменения содержимого файла, принадлежащего пользователю root и доступного только на чтение. В том числе, при помощи предложенного метода атаки непривилегированный злоумышленник может изменить исполняемые системные файлы, обойдя штатные механизмы управления доступом.


   $ sudo -s
   # echo this is not a test > foo
   # chmod 0404 foo
   $ ls -lah foo
   -r-----r-- 1 root root 19 Oct 20 15:23 foo
   $ cat foo
   this is not a test

   $ gcc -lpthread dirtyc0w.c -o dirtyc0w
   $ ./dirtyc0w foo m00000000000000000
   mmap 56123000
   madvise 0
   procselfmem 1800000000

   $ cat foo
   m00000000000000000

Уязвимость устранена в выпусках ядра Linux 4.8.3, 4.7.9 и 4.4.26. Обновления пакетов с ядром уже сформированы для дистрибутивов Debian, Ubuntu, Mageia, SUSE, Fedora. Для openSUSE, CentOS и RHEL исправления пока не выпущены (в RHEL/CentOS 5 и 6 представленный эксплоит не работает из-за закрытия /proc/self/mem на запись, но в RHEL/CentOS 7 такого ограничения нет). Для временного блокирования уязвимости в RHEL/CentOS 7 подготовлен сценарий SystemTap.

Дополнение: Подготовлен эксплоит для получения прав root на платформе Android.

  1. Главная ссылка к новости (http://openwall.com/lists/oss-...)
  2. OpenNews: Уязвимость в ядре Linux, позволяющая выйти из изолированного контейнера
  3. OpenNews: Уязвимость в ядре Linux, позволяющая поднять привилегии через eCryptfs
  4. OpenNews: Представлена отдельная ветка ядра Linux с устранением уязвимостей
  5. OpenNews: Уязвимость в ядре Linux, позволяющая запустить код при подключении USB-устройства злоумышленника
  6. OpenNews: В ядре Linux обнаружена уязвимость, позволяющая поднять привилегии в системе
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/45354-linux
Ключевые слова: linux, kernel
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (203) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, trolleybus (?), 09:28, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Сейчас полезут ненавистники опенсорса, мол, 9 лет не могли исправить...
     
     
  • 2.16, Тлорръ (?), 10:10, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +37 +/
    9 лет не могли исправить... open sores...
     
  • 2.20, Аноним (-), 10:21, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +98 +/
    В OpenSource уязвимости хотя-бы находят. В проприетарщине еще бы 9 лет висела и всем было пофиг.
     
     
  • 3.41, iPony (?), 10:52, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –55 +/
    > В проприетарщине еще бы 9 лет висела и всем было пофиг.

    Ну естественно, нет. Заинтересовываются лишь в том, что имеет бызнес отдачу.
    Открытость/закрытость кода тут не причём вообще.

     
     
  • 4.45, Аноним (-), 10:57, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +26 +/
    Ты хотел сказать СПЕЦСЛУЖБО отдачу. :D
     
     
  • 5.105, iPony (?), 13:16, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ну в том числе. Любая заинтересованность годится.
    Никто не будет искать дырки в заборе к заброшенному разваленному дому. Как и никто не будет этот забор латать.
    А лицензия... Её в карман не положишь.
    PS: какие здесь фанатики смешные, популизм и только :D
     
  • 3.93, Pahanivo (ok), 12:24, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +13 +/
    В проприетарщине не находят, там закладывают!
    Учите матчасть :)
     
     
  • 4.98, SampleID (?), 12:37, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –4 +/
    А то в православном опенсорсе нет. Торвальдс и кто в теме скорее всего на своих, "особых" ядрах сидят.
     
     
  • 5.130, Аноним (-), 15:39, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Там в теме более 1000 разработчиков из разных стран и контор, так что все не сговорятся. А, вы используете уже собраное ядро из дистра одной отдельно взятой конторы? Ну так собирайте сами из исходников.
     
     
  • 6.142, z (??), 17:35, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    99% пользователей не являются ни программистами, ни специалистами в безопасности, что бы по исходному коды дырки находить.
     
     
  • 7.148, _ (??), 18:24, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    ДБ!(С) Лавров.
    Прочти внимательно на что отвечаешь. Впрочем - не поможет :(
     
  • 7.226, Pahanivo (ok), 12:19, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > 99% пользователей не являются ни программистами, ни специалистами в безопасности, что бы
    > по исходному коды дырки находить.

    ну дак и сиди ровно на жопе, что ты влез в дискуссию?

     
  • 6.241, adolfus (ok), 16:26, 24/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Глупости пишете. Вы просто не понимаете, как обеспечивается секретность того или иного дела, в котором задействовано много людей. Прежде всего к делу подпускаются только те, кто не испытывает потребности чесать языком. И таких очень много.
    О том, что англичане захватили лодку с шифровальной машиной, отбуксировали ее к себе, знали более 8 тысяч человек и никто не сказал. В результате нагличане несколько лет втихаря расшифровывали обмен Рейха с подлодками и выиграли войну на море.
    ПАК-ФА Т-40 разрабатывался с 80-х годов и был явлен публике почти через 30 лет. Задействовано народу было более 40 тысяч и никто ни слова не произнес из чего, какие характеристики и т.д. и т.п. И вообще, что такие работы ведутся.
    Так что какое-то ядро запросто.
     
  • 5.244, Аноним (-), 18:27, 25/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    в православном -- нет, а вот в остальном еще неизвестно
    отступление от принципа KISS делает открытокод неправославным
     
  • 3.107, Аноним (-), 13:44, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Откуда такая уверенность? Учитывая, что клосед сорс бы не упомянул вообще об этой уязвимости даже после ее исправления?
     
     
  • 4.135, Аноним84701 (?), 16:18, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Откуда такая уверенность? Учитывая, что клосед сорс бы не упомянул вообще об
    > этой уязвимости даже после ее исправления?

    Ну почему. Вон как оракл в соседней новости -- с "плановым"  обновлением, нацеленным на "на устранение критических проблем и уязвимостей"
    > В октябрьском обновлении в сумме устранено 253 уязвимости.

    Ходят слухи, что у них с Адобом на этот счет соревнования в лучших традициях "даешь пятилетку за три дня!".
    Пока что побеждает дружба (по общему количеству дырок в продуктах Оракл на втором месте сразу после МСца. Но по количеству дыр в единичном продукте -- флеш давно и надежно ушел в отрыв) :)

     
  • 3.126, Chupaka (?), 15:32, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > В OpenSource уязвимости хотя-бы находят. В проприетарщине еще бы 9 лет висела
    > и всем было пофиг.

    Статью не читай
    @
    Каменты пиши

    Вас не смутило, что уязвимость нашли не потому, что OpenSource, а потому, что случайно обнаруженный рабочий эксплойт изучили? Или вы имеете в виду, что злоумышленникам проще найти уязвимости в OpenSource - и потом их использовать, пока (если?) не прикроют, когда в проприетарщине такой номер не прошёл бы? =)

     
     
  • 4.131, Аноним (-), 15:45, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    А чего должно смущать? Для поиска уязвимостей надо пользоваться всеми доступными средствами.
     
     
  • 5.133, Chupaka (?), 16:03, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > А чего должно смущать? Для поиска уязвимостей надо пользоваться всеми доступными средствами.

    Смущает, что мысль в целом получилась такая: уж лучше пусть уязвимостью пользуются злоумышленники (а потом разработчики как-нибудь её нескоро закроют), чем она будет висеть никому не известная (а потом разработчики как-нибудь её нескоро закроют).

     
  • 2.247, Neon (??), 00:57, 16/03/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А ведь исходники открыты, миллионы программистов....казалось бы какая тут может быть дыра)))
     

  • 1.2, Аноним (-), 09:29, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    а я то думаю, кто правит мои файлы?
     
     
  • 2.27, Аноним (-), 10:29, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +9 +/
    pussy.exe
     
     
  • 3.173, Аноним (-), 20:44, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    У меня pussy.exe требует все пароли от всех учётных записей, и если не давать, выполняет brainfuck.exe. Видимо, её взломали с самого начала...  А говорит, что я - первый пользователь.
     
     
  • 4.177, Клыкастый тигар Изя Цельсионович (?), 21:07, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Видимо, её взломали с самого начала...  А говорит, что я - первый пользователь.

    Pussy.exe - все такие. И ты - отнюдь не первый её пользователь.

     
  • 3.193, Аноним (-), 23:07, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > pussy.exe

    И это правильно! Накосорезили разрабы линуха, но во всем виноваты разрабы (и пользователи) pussy.exe!

     
     
  • 4.204, Аноним (-), 00:11, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А у идиотов всегда так, благо их на опеннете все больше и больше.
     
     
  • 5.205, Аноним (-), 00:15, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    .. и скоро им никто не будет мешать.
     
     
  • 6.225, Клыкастый тигар Изя Цельсионович (?), 12:10, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это уже случилось. Опеннет давно превратился в виндозный междусобойчик.
     

  • 1.5, Аноним (-), 09:36, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    че-т у меня в центоси 7 не работает.
     
     
  • 2.83, Дегенератор (?), 11:59, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Зачем в центось ставить семерку? Только десятку!
     
  • 2.97, Мишка большая шишка (?), 12:35, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    У меня в RHEL7 работает
     

  • 1.6, hoopoe (ok), 09:40, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    ох ёёёёёё...
    copy-on-write - это один из базовых компонентов Linux, дыры в нём - непозволительная роскошь... хорошо что прикрыли.

    как чувствовал, на своих системах доступ всяким анонимусам прикрыл :)

     
     
  • 2.110, Аноним (-), 13:55, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > как чувствовал, на своих системах доступ всяким анонимусам прикрыл :)

    и сидишь от рута?

     
     
  • 3.122, hoopoe (ok), 15:00, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    зачем? в отличии от не-unix-like систем в Линуксе система разграничения прав очень простая и понятная, пользую обычную учётку...

    просто по дефолту был открыт доступ с гостевой сессии, который я зачем-то придавил... как чувствовал :)

     
     
  • 4.134, кто (?), 16:16, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >система разграничения прав очень простая и понятная

    Настройка selinux mls и mcs - это же интуитивно понятная процедура, ага

     
     
  • 5.174, Аноним (-), 20:46, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    подразумеваются грамотные пользователи, естессно.
     

  • 1.7, Аноним (-), 09:41, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    А зачем так паниковать? Ну нашли и нашли. Главное, что нашли и исправили. Уязвимости - штука из серии соревнование брони и ядра. Это вечно. Мне другое интересно - а для штатных ядер Debian 8 будут исправления? Чтобы не обновлять ядро. Или без этого никак и нужно ставить то, свежайшее?
     
     
  • 2.9, Аноним (-), 09:55, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Когда-то я пробовал SLES 11 SP3, 60-дневный бесплатный период Вернее, его дескт... большой текст свёрнут, показать
     
     
  • 3.12, Аноним (-), 09:57, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Это я к чему. "Ну нашли и нашли, исправили же" - в новости же ясно сказано, что дырой активно пользовались продолжительное время. Может и меня ломали именно через неё. Может и тебя ломали
     
     
  • 4.30, Аноним (-), 10:32, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Сам себе поставил пароль на рута вида 1234, а разработчики ядра виноваты в том, что тебя взломали через local privilege escalation? Как? Через libastral.so ?
    Научись настраивать фаерволы и SSH, прежде чем что-то говорить.
     
     
  • 5.65, пох (?), 11:26, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    в том и дело, что не на рута, а на непривиллегированного юзера для однократного ... большой текст свёрнут, показать
     
     
  • 6.102, AlexYeCu_not_logged (?), 13:10, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >ssh, белый IP, пароль

    В списке либо что-то лишнее, либо чего-то не хватает.

     
  • 6.108, SpaceRaven (ok), 13:48, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну против брута ssh есть довольно простые средства вроде denyhosts. У меня так в неделю больше 100 ip попадало в черный список. denyhosts - довольно простая но действенная штука, ИМХО без нее вообще нельзя ssh открывать наружу.

    Насчет уязвимостей в вебне сейчас можно заюзать тот же docker. Я лет 5 назад делал виртуалку через libvirt для внешних служб и прокидывал туда хранилище с хост-системы. Я к тому, что нужно подобные вырианты учитывать с самого начала, а не только когда пароль на рута тебе сменят.

     
     
  • 7.124, пох (?), 15:32, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    главное, иметь запасного админа, когда оно тебя же и заденаит, ага кстати, кто... большой текст свёрнут, показать
     
     
  • 8.150, _ (??), 18:29, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Эй школота , там WL как бе есть, впрочем слишком сложно для таких Остальное д... текст свёрнут, показать
     
     
  • 9.207, Аноним (-), 00:20, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Сынок, ты правда думаешь, что по твоим комментариям окружающим не понятно скольк... текст свёрнут, показать
     
  • 7.218, Валик228 (?), 03:29, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну против брута ssh есть довольно простые средства вроде denyhosts.

    против брута ssh есть iptables, аж 2 команды:

    -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH --rsource
    -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 120 --hitcount 3 --rttl --name SSH --rsource -j DROP

    куда проще?

     
  • 4.31, Аноним (-), 10:33, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Для эксплуатации этой уязвимости нужно сначала залогиниться. Да, плохо конечно, когда рута могут получить те юзеры, которые не должны его получать. Но взломать рамдомный сервак используя эту уязвимость не получится. А так - уязвимостей с повышением привилегий хватает на любой ОС.
     
     
  • 5.56, 1 (??), 11:12, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Существуют шаред хостинги
     
     
  • 6.88, . (?), 12:08, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Существуют шаред хостинги

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

    А тут проблемка шире, она может вылезти боком даже на локалхосте, если там не только порнуху с понями смотреть.


     
  • 5.78, Andrey Mitrofanov (?), 11:51, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Для эксплуатации этой уязвимости нужно сначала залогиниться. Да, плохо конечно, когда рута

    Нет. В вебне полно remote execution-ов. Вы ничего не понимаете в эксплуатации.

     
  • 2.10, Анонимус2 (?), 09:55, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Новость читал? В 3.16.36-1+deb8u2 исправлено
     
  • 2.11, A.Stahl (ok), 09:56, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >для штатных ядер Debian 8 будут исправления? Чтобы не обновлять ядро. Или без этого никак и нужно ставить то, свежайшее?

    А? Ты хочешь обновить ядро не обновляя ядро?
    Я х.з. что ты спросил, но на всякий случай отвечу -- забей, с ближайшим апдейтом придёт фикс этой проблемы. Просто запускай apt иногда.

     
     
  • 3.235, Аноним (235), 14:54, 23/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Ну зачем же нервничать?
    Вероятно, человек имел ввиду временную заплатку до ближайшего апдейта с фиксом.
     
  • 2.14, Нанобот (ok), 09:58, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >А зачем так паниковать?

    чёт я пока не наблюдаю паники, что необычно для опеннета. наверно ИБ-истерички ещё не проснулись

     
  • 2.60, пох (?), 11:17, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А зачем так паниковать? Ну нашли и нашли.

    проблема в том, что нашли - давным-давно. Но не те, которые сейчас исправили.

    И да, заняно что редхат в очередной раз успел подстелить соломку даже не задумываясь о ней (как было и с рейсом в pty) - но успешно забыл об этом.
    P.S. или задумываясь? ;-)

     
  • 2.137, Аноним (-), 16:46, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Мне другое интересно - а для штатных ядер Debian 8 будут исправления?

    У меня сегодня прилетело.

     

  • 1.8, Аноним (-), 09:46, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Если стремиться к идеалу совсем по фен-шую, то самое лучшее ядро - это ядро <= 2.6.22. Потому что в 2.6.23 появилось это: https://en.wikipedia.org/wiki/Completely_Fair_Scheduler взамен этого: https://en.wikipedia.org/wiki/O(1)_scheduler
     
     
  • 2.15, A.Stahl (ok), 10:05, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Кружок занимательной археологии дальше по коридору.
    Можете зайти ещё в клуб молодых психиатров. Там помогут.
     
     
  • 3.66, Аноним (-), 11:26, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    человек намекает что в угоду cgroups - шедулер ухудшили - из-за чего он начал лагать на большом списке задач, и достаточно большом списке cgroups.
     

  • 1.17, Demo (??), 10:12, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –12 +/
    «состоянием гонки»

    :face palm:

     
     
  • 2.19, Аноним (-), 10:16, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +7 +/
    RTFM. Если не разбираешься в терминологии, лучше промолчать, а не выставлять себя в глупом виде.
     
     
  • 3.233, Demo (??), 12:05, 23/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Умник, я хорошо знаю, что такое "race condition", "out of the box" и "seamless roaming". Но по-русски "состояние гонки", "из коробки" и "бесшовный роуминг" звучат крайне отвратно. О чём и было мной высказано.
     
     
  • 4.234, angra (ok), 14:34, 23/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Но правильный вариант перевода ты так и не предложил.
     
     
  • 5.238, Demo (??), 13:35, 24/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тут предлагай — не предлагай, а как "бесшовничали" с "искаропками", так и будут продолжать. Остаётся только уныло констатировать.
     
  • 4.236, durtycow (?), 00:06, 24/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ага, "о чем высказано". Рассказывай нам теперь про хороший стиль в русском языке.
     
  • 2.35, Аноним (-), 10:37, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А какой твой вариант перевода "race condition", ммм?
     
     
  • 3.40, Аноним (-), 10:51, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +12 +/
    раса условия?
     
     
  • 4.58, A.Stahl (ok), 11:16, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +16 +/
    Nigger if?
     

  • 1.24, Аноним (-), 10:25, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Людей, которые находят такие вещи - надо награждать хорошей пачкой бабла. Его наградят?
     
     
  • 2.86, . (?), 12:04, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Людей, которые находят такие вещи - надо награждать хорошей пачкой бабла.

    не переживай, они с 2007го уже неплохо самонаградились.
    Те кто первыми нашли, разумеется.

     

  • 1.25, svsd_val (ok), 10:27, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Debian,
    Linux amd64 4.7.0-1-amd64 #1 SMP Debian 4.7.2-1 (2016-08-28) x86_64 GNU/Linux

    Не рабит ='(

     
     
  • 2.101, Аноним (-), 12:52, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Linux 4.7.0-1-amd64 #1 SMP Debian 4.7.6-1 (2016-10-07)
    робит
     
  • 2.138, Аноним (-), 16:51, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Debian,
    Linux 4.7.7-custom #1 SMP
    Робит, к сожалению. Собирал ядро just for fun.
     

  • 1.26, iZEN (ok), 10:27, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересно, а если бы код ядра был написан на Modula3, а не C, то такого рода уязвимости в принципе остались бы возможны?
     
     
  • 2.29, andy (??), 10:31, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > Интересно, а если бы код ядра был написан на Java, а не C, то такого рода уязвимости в принципе остались бы возможны?

    Поправил, не благодари.

     
     
  • 3.92, Аноним (-), 12:24, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > если бы код ядра был написан на Java, а не C,

    То все равно можно было бы пропустить lock/wait или что там используется...

    synchronized конечно не обойдешь, но там тоже могут быть баги в компиляторе/vm и код превратиться в однопроцессорный в критических участках.

     
     
  • 4.109, SpaceRaven (ok), 13:52, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    это был сарказм, ваш кэп :)
     
  • 3.219, Аноним (-), 08:08, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > А если бы код ядра был написан на любом другом языке, то такого рода уязвимости всё равно были бы, ничего бы не изменилось.

    fix #2

     
  • 2.42, Аноним (-), 10:54, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Интересно, а если бы код ядра был написан на Modula3, а не
    > C, то такого рода уязвимости в принципе остались бы возможны?

    Ты эпический дурак. Или опять увидел "уязвимость", "linux" и сразу подумал про buffer overflow? Уязвимость вызвана race condition, этот твой модуля хоть в треды то умеет. Если нет, то и проблем там таких нет, а если да - то у меня для тебя плохие новости.

     
     
  • 3.64, Аноним (-), 11:25, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    А вот раст умеет.
     
     
  • 4.81, Andrey Mitrofanov (?), 11:53, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А вот раст умеет.

    Раст лучше чем Изя. Без вопросов!

     
  • 3.119, Michael Shigorin (ok), 14:45, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > этот твой модуля хоть в треды то умеет

    Та реализация M2, которой я ещё на досе пользовался -- умела сопроцессы.

     
     
  • 4.200, Аноним (-), 23:55, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> этот твой модуля хоть в треды то умеет
    > Та реализация M2, которой я ещё на досе пользовался -- умела сопроцессы.

    Михаил, небольшой вопрос: Почему iZen-a можно невозбранно обсирать любому форумчанину, а любые посты в его защиту удаляются даже если они были нейтральны?

    P.S. Не считаю Изю за специалиста вообще, но травля его со стороны модерации ресурса - откровенный перебор. Opennet.ru и так уже занял бывшее место ЛОР-а по количеству троллинга в комментариях, но сейчас уже, похоже, стремится к SU.KASCHENKO!
    Закономерный вопрос: Куда дальше?

     
     
  • 5.213, Аноним (-), 00:56, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Почему iZen-a можно невозбранно обсирать любому форумчанину,

    Я не совсем правильно выразился с первого раза. Не обсирать, а оскорблять. Но сути это не меняет: Модерация в полной заднице и занимается разжиганием.

     
  • 3.121, Comdiv (ok), 15:00, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Если Вы считаете, что при программировании на Си проблемы могут быть только из-за переполнения буферов, то у меня для вас плохие новости.
    Но это частично можно поправить:
    -fsanitize=undefined
    -fsanitize=address
    -fsanitize=kernel-address

    И что особенно важно в контексте новости
    -fsanitize=thread - Enable ThreadSanitizer, a fast data race detector.

    Поскольку всё это приклеено к Си изолентой, то оно изрядно тормозит и, к сожалению, многими рассматривается исключительно как отладочная возможность. В других языках многие проблемы попытались решить на уровне дизайна языка и поэтому оно может работать лучше. Что-то получилось, что-то нет. Поэтому само по себе задавание таких вопросов не является преступлением и поводом для кидания камней со стороны Си-праведников.

     
     
  • 4.132, anonymous (??), 15:59, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > И что особенно важно в контексте новости
    > -fsanitize=thread - Enable ThreadSanitizer, a fast data race detector.

    и чем это помогло?

     
  • 3.199, Аноним (-), 23:36, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ты эпический дурак. Или опять увидел "уязвимость", "linux" и сразу подумал про buffer overflow

    Походу ты - эпический "умный", если увидел впосте iZen-а слово "linux".

     
     
  • 4.214, fi (ok), 02:18, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    ну у тебя проблемы со зрением - пора проверяться, зайди на kernel.org

     
  • 2.53, anonymous (??), 11:07, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Интересно, а если бы код ядра был написан на Modula3, а не
    > C, то такого рода уязвимости в принципе остались бы возможны?

    А что, на этом языке написано что-то, кроме cvsup?

     
     
  • 3.151, анонанонанонанино (?), 18:29, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На modula-2 пишут софт для спутников, специализированный промсофт и прочие интересные вещи. Т.е. используется там, где языки, ставшие трендом только по причине американского национализма, совершенно непригодны.
     
     
  • 4.157, _ (??), 18:36, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Я правильно понял что вы про фобос-грунт? :-)
     
  • 2.67, vitalif (ok), 11:27, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Интересно, а если бы код ядра был написан на Modula3, а не C, то ядро бы существовало?
     
     
  • 3.215, fi (ok), 02:22, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Интересно, а если бы код ядра был написан на Modula3, а не  C, то ядро бы существовало?

    в гугле забанили? Оно есть. но вопрос всегда в возможностях

     
  • 2.118, Michael Shigorin (ok), 14:44, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Интересно, а если бы код ядра был написан на Modula3, а не C

    Ну так напишите же.  Только руки не сотрите обо все IMPLEMENTATION MODULE.

    // интересно, сколько у меня там .mod и .def понаписато было...

     
     
  • 3.216, fi (ok), 02:23, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> Интересно, а если бы код ядра был написан на Modula3, а не C
    > Ну так напишите же.  Только руки не сотрите обо все IMPLEMENTATION
    > MODULE.
    > // интересно, сколько у меня там .mod и .def понаписато было...

    http://www-spin.cs.washington.edu/external/overview.html - посчитай )))

     

  • 1.28, Paul_ls (?), 10:30, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    noexec для /home и др. не?
     
     
  • 2.71, Нанобот (ok), 11:31, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    не. эксплоит можно и на питоне написать, это лишь вопрос умения.
    так что только noexec на / :)
     
  • 2.221, Аноним (-), 08:46, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > noexec для /home и др. не?

    Нет, лучше отрубить питание и перерезать ethernet кабеля. Лучшая защита, я гарантирую это!

     

  • 1.32, нет (??), 10:35, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    404 в правах разрешает чтение остальным
     
     
  • 2.68, Аноним (-), 11:27, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > 404 в правах разрешает чтение остальным

    Разрешение чтения не должно разрешать демонстрируемую эксплоитом запись.

     

  • 1.34, Клыкастый тигар Изя Цельсионович (?), 10:36, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Офигеть! УМВР!
    Только собираем с: $ gcc -pthread -lpthread dirtycow.c -o dirtyc0w
     
     
  • 2.38, Аноним (-), 10:43, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    идейка хороша, но code swiftdev pgdb1 gcc -pthread -lpthread dirtyc0w c -o... большой текст свёрнут, показать
     
     
  • 3.43, Аноним (-), 10:55, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +9 +/
    >[оверквотинг удален]
    >         ^
    > dirtyc0w.c: In function ‘main’:
    > dirtyc0w.c:82:3: warning: implicit declaration of function  fstat’ [-Wimplicit-function-declaration]
    >    fstat(f,&st);
    >    ^
    > dirtyc0w.c:96:10: warning: format ‘%x’ expects argument of type ‘unsigned
    > int’, but argument 2 has type ‘void *’ [-Wformat=]
    >    printf("mmap %x\n\n",map);
    >           ^
    >

    Нельзя тебе эксплойты собирать, покалечишься еще ненароком.

     
     
  • 4.120, Ordu (ok), 14:48, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Нельзя тебе эксплойты собирать, покалечишься еще ненароком.

    Бла-бла-бла... Ты осилил прочитать процитированные варнинги или не понял о чём они?

    Они вообще-то указывают на полную хрень, типа использования 32-х битного спецификатора printf при попытке вывести указатель, который в современных intel'овских системах (с вероятностью близкой к единице) 64-х битный. Это, по-идее, не критично с hi-ending порядком байтов -- самые интересные в данном случае младшие биты будут выведены, но всё равно неприятно. Так же как и неуказание unistd.h в списке инклюдов, что приводит ко всем этим варнингам вокруг использования open/fstat/lseek.

     
     
  • 5.144, Аноним (-), 17:44, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я то прекрасно понимаю почему у него компиляция не прошла. А вот дятел, к-й не разбирается в программиронии, но пытается собрать ЭКСПЛОЙТ, опасен в первую очередь для себя. Такому rm -rf /* подсунут, дак он с телефона потом напишет, что фигня какая-то, а не эксплойт... теперь вообще комп не загружается.
     
     
  • 6.146, Ordu (ok), 18:18, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Я то прекрасно понимаю почему у него компиляция не прошла.

    Объясни мне, почему ты это понимаешь? Вот я не понимаю: я не вижу ни одной ошибки компиляции, исключительно варнинги. Из чего я делаю вывод, что компиляция прошла.

     
     
  • 7.163, curious (?), 18:47, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вот это
    > dirtyc0w.c:64:5: warning: implicit declaration of function  lseek’ [-Wimplicit-function-declaration]
    >      lseek(f,map,SEEK_SET);

    как бы говорит нам, что мы задекларировали функцию lseek и должны сами написать её реализацию (либо подключить библиотеку с её реализацией).

    Я очень сомневаюсь что Аноним смог написать реализацию lseek или подключить библиотеку.

     
     
  • 8.166, Ordu (ok), 18:55, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если без как бы , а на самом деле , то это говорит о том, что в коде используе... большой текст свёрнут, показать
     
  • 7.164, curious (?), 18:49, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Объясни мне, почему ты это понимаешь? Вот я не понимаю: я не
    > вижу ни одной ошибки компиляции, исключительно варнинги. Из чего я делаю
    > вывод, что компиляция прошла.

    Потому что он может видеть будущее, а ты нет.
    И в этом будущем он увидел ошибку линковки.

     
     
  • 8.167, Ordu (ok), 18:58, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нет, там не будет ошибки линковки Выше я даже объяснил почему Я гораздо лучше ... текст свёрнут, показать
     
     
  • 9.197, curious (?), 23:20, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Да ты оказывается дилетант, C в глаза не видевший ... текст свёрнут, показать
     
     
  • 10.203, Ordu (ok), 00:08, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я рад, что ты скатился в аргументацию уровня ad hominem Это очень соответствует... текст свёрнут, показать
     

  • 1.37, Аноним (-), 10:40, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    что то с моими руками не так code swiftdev pgdb1 gcc -lpthread dirtyc0w... большой текст свёрнут, показать
     
     
  • 2.44, Аноним (-), 10:56, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >[оверквотинг удален]
    > int’, but argument 2 has type ‘void *’ [-Wformat=]
    >    printf("mmap %x\n\n",map);
    >           ^
    > /tmp/ccFdI7nc.o: In function 'main':
    > dirtyc0w.c:(.text+0x1a4): undefined reference to 'pthread_create'
    > dirtyc0w.c:(.text+0x1c0): undefined reference to 'pthread_create'
    > dirtyc0w.c:(.text+0x1d1): undefined reference to 'pthread_join'
    > dirtyc0w.c:(.text+0x1e2): undefined reference to 'pthread_join'
    > collect2: error: ld returned 1 exit status
    >

    Нельзя тебе эксплойты собирать, покалечишься еще ненароком.

    man CFLAGS

     
  • 2.47, Аноним (-), 10:59, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    gcc -pthread dirtyc0w.c
     
  • 2.51, Аноним (-), 11:06, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    дурачок, ёпт! на 78 строке должен быть %p а не %x
    и комилить надо так: gcc -pthread -o test test.c
     
  • 2.91, Клыкастый тигар Изя Цельсионович (?), 12:12, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Твою ошибку исправляет опция -pthread. А так, эксплоит собирается криво, не завершается самостоятельно, грузит ЦП на 100 пудов, но свою грязную работу делает идеально.
     
     
  • 3.117, Ordu (ok), 14:42, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Простите за любопытство, но что у вас за платформа/тулчейн, что вам нужна опция -pthread? В манах к gcc эта опция упомянута применительно к каким-то экзотическим платформам, типа PowerPC и чего-то ещё, короче я не думаю, что это имеет отношение к данному случаю. Но вам помогает... Поэтому любопытно.
    Может вместо glibc что-нибудь экзотическое? Или версия gcc 2.95? Или что вообще?
     
     
  • 4.123, Клыкастый тигар Изя Цельсионович (?), 15:30, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    - Linux localhost.localdomain 4.4.0-43-lowlatency #63-Ubuntu SMP PREEMPT Wed Oct 12 14:41:17 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
    - gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.2)

    Всё слишком обычно, без этой опции была именно та же ошибка, описанная Анонимом свыше.

     
     
  • 5.141, Ordu (ok), 17:29, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > - Linux localhost.localdomain 4.4.0-43-lowlatency #63-Ubuntu SMP PREEMPT Wed Oct 12 14:41:17
    > UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
    > - gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.2)
    > Всё слишком обычно, без этой опции была именно та же ошибка, описанная
    > Анонимом свыше.

    Да, странно... Судя по убунте и libc тут стандартная glibc, без всяких наворотов. Разве что какие-то убунтопатчи повлияли. Загадка.

     
  • 4.127, Alex (??), 15:32, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Эта опция нужна чуть менее чем на любых версиях gcc если тебе нужно работать с тредами.
     
     
  • 5.140, Ordu (ok), 17:24, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Начиная с 3.x и сейчас вплоть до gcc-4.9.x я никогда не использовал -pthread. Вот -lpthread иногда пригождалась для линковки. И именно поэтому я и спрашиваю, мне непонятно. И твои слова типа "чуть менее чем на любых" демонстрируют твоё владение интернет-сленгом, но на поставленный вопрос не отвечают и непонятки мои не снимают.
     
     
  • 6.172, nobody (??), 20:28, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Да, она одно время пропадала для большинства платформ, но не теперь, они, видимо, решили всё унифицировать. Теперь опция используется на большинстве платформ
     
     
  • 7.191, Ordu (ok), 22:52, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    То есть, может быть, это особенность gcc-5.x? Это бы всё объяснило.
     
  • 6.239, Alex (??), 15:02, 24/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Судя по "gcc -dumpspec" -pthread выставляет флаг -lpthread и декларирует макрос _REENTRANT для крестов. Так-что, в принципе, -lpthread и -pthread на интеловских архитектурах взаимозаменямы. Для каких-нибудь экзотических архитектур он может делать что-то другое.
     

  • 1.48, rt (??), 10:59, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    $ ./dirtyc0w foo m00000000000000000
    mmap 38e46000
    madvise 0
    procselfmem -100000000
    $ cat foo
    this is not a test
    $ uname -r
    4.1.7-hardened-r1

     
     
  • 2.49, rt (??), 11:00, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Даже не буду обновляться.
     
  • 2.55, Аноним (-), 11:08, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    у меня на убунту 14.04 тоже не сработало: Linux 3.13.0-98-generic x86_64
    > $ uname -r
    > 4.1.7-hardened-r1
     
  • 2.125, Аноним (-), 15:32, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Один не работающий эксплоит не означает отсутствия в COW в вашем ядре состояния гонки.
     
  • 2.129, alexxy (ok), 15:38, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    $ ./dirtyc0w /tmp/foo m00000000000000000
    mmap f06e9000
    madvise 0
    procselfmem -100000000
    $ cat /tmp/foo
    This is a test...
    $ uname -r
    4.4.6-hardened-r2


    Таки да не работает, PaX сделал свое черное дело.

     
     
  • 3.149, Аноним (-), 18:28, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > PaX сделал свое черное дело.

    В PaX нет гонки на CoW или там просто /proc/self/mem закрыт?

     
     
  • 4.153, Добрый (?), 18:30, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> PaX сделал свое черное дело.
    > В PaX нет гонки на CoW или там просто /proc/self/mem закрыт?

    Гонка и уязвимость есть.

     
  • 2.152, Добрый (?), 18:29, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > $ ./dirtyc0w foo m00000000000000000
    > mmap 38e46000
    > madvise 0
    > procselfmem -100000000
    > $ cat foo
    > this is not a test
    > $ uname -r
    > 4.1.7-hardened-r1

    Рано радуетесь.

    ryona>   does that mean grsec did not mitigate it?
    spender> nothing could
    spender> it's a low level logic bug
    ryona>   damn
    spender> i mean, with TPE etc you can prevent someone from running an exploit binary or whatever
    ryona>   ok that's nasty
    spender> but you can't prevent the flaw itself
    ryona>   kernelmode access or just to root?
    spender> to root, but that'll give you kernelmode :p

     
     
  • 3.220, Аноним (-), 08:11, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Рано радуетесь.

    МЫ ВСЕ УМРЁМ!!!1111111
    /s

    Linux 4.7.7, лень обновлять.

     

  • 1.62, Аноним (-), 11:22, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Где те 100 тыс миллионов глаз которые должны были смотреть?.. вот бага тянется 10 лет - а никто ее не заметил :)
     
     
  • 2.80, пох (?), 11:52, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Где те 100 тыс миллионов глаз которые должны были смотреть?.. вот бага

    то есть как это, где?
    > тянется 10 лет - а никто ее не заметил :)

    как никто? А эксплойт сам зародился от грязного белья? Просто не все заметившие рвутся улучшать мир. Ну или точнее, есть разные способы его улучшения.

     
  • 2.82, Andrey Mitrofanov (?), 11:56, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Где те 100 тыс миллионов глаз которые должны были смотреть?.. вот бага
    > тянется 10 лет - а никто ее не заметил :)

    Напрягись! Вспомни!! Сколько лет было обещано и гарантировано там --- ну про глаза?

    //100млрд глаз... 7млрд+- хуманов... Вы, рептилоиды, палитесть или митингуете от партии мух?..

     
  • 2.116, Нониус (?), 14:35, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +6 +/
    фиксили ещё 11 лет назад, а потом откатили фикс и забили.




        This is an ancient bug that was actually attempted to be fixed once
        (badly) by me eleven years ago in commit 4ceb5db9757a ("Fix
        get_user_pages() race for write access") but that was then undone due to
        problems on s390 by commit f33ea7f404e5 ("fix get_user_pages bug").



     

  • 1.63, ALex_hha (ok), 11:25, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > $ gcc -lpthread dirtyc0w.c -o dirtyc0w
    > $ ./dirtyc0w foo m00000000000000000
    > mmap 56123000
    > madvise 0
    > procselfmem 1800000000
    > $ cat foo
    > m00000000000000000

    а может кто то пояснить, что оно делает и как интерпретировать результат?

    Только что проверил на CentOS 6

    $ ./dirtyc0w foo m00000000000000000
    mmap 8f004000
    madvise 0
    procselfmem -100000000

    $ cat foo
    this is not a test

    $ uname -r
    2.6.32-642.6.1.el6.x86_64

     
     
  • 2.69, vitalif (ok), 11:28, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    сказано же в новости что на центоси 6 не работает
     
     
  • 3.211, Аноним (-), 00:39, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Сказано и не работает - это таки две больших разницы.
     
  • 2.70, Адекват (ok), 11:29, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    оно файл переписывает, у меня сработало.
     
  • 2.74, Нанобот (ok), 11:36, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > а может кто то пояснить, что оно делает и как интерпретировать результат?

    оно записывает строку m00000000000000000 в файл foo, хотя оно не имеет необходимых для этого прав

     

  • 1.72, Мегазаычы (?), 11:32, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    у меня есть этот "перехваченный эксплойт". реально выдаёт рутовый шелл на всех ядрах новее, примерно, 3.2, но ему требуется определённый рут-суидный бинарник в системе (ping6, umount, етц), которые не везде суидный. кому интересно, тесты на убунтах и дебианах:

    UBUNTU 12.04   === 3.2.0-111-generic === NON-VULN, too old kernel
    UBUNTU 12.04.5 === 3.13.0-32-generic === VULN
    UBUNTU 14.04   === 3.13.0-98-generic === VULN
    UBUNTU 14.04.5 === 4.4.0-31-generic  === VULN
    UBUNTU 16.04   === 4.4.0-21-generic  === VULN
    UBUNTU 16.04.1 === 4.4.0-31-generic  === VULN
    UBUNTU 16.04.1 === 4.4.0-43-generic  === VULN
    UBUNTU 16.10   === 4.8.0-22-generic  === VULN, kernel is vulnerable, but no needed suid-binary
    DEBIAN 6.0.10  === 2.6.32-5-amd64    === NON-VULN, too old kernel
    DEBIAN 7.11.0  === 3.2.0-4-amd64     === NON-VULN, too old kernel
    DEBIAN 8.6     === 3.16.0-4-amd64    === VULN, kernel is vulnerable, but no needed suid-binary

     
     
  • 2.76, Аноним (-), 11:48, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Он меняет содержимое суидного бинарника, по идее этот лишь один из множества способов. С тем же успехом можно /etc/shadow поменять или любую программу периодически запускаемую от рута.
     
     
  • 3.240, Мегазаычы (?), 15:23, 24/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ты такой умный, тебе череп не жмёт? если любой бинарник и файл, ну так напиши эксплойт который рутовый пароль в "123" ставит.
     
     
  • 4.242, arisu (ok), 18:46, 24/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ты такой умный, тебе череп не жмёт?

    ну кто же тебе виноват, что ты дурак, и тебе даже человек, говорящий очевидные вещи, кажется недостижимой высотой гениальности?

     
  • 2.84, teairra (?), 12:02, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > у меня есть этот "перехваченный эксплойт".

    выложи уж. один фиг бага запатчена

     
  • 2.89, Нанобот (ok), 12:10, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >no needed suid-binary

    китайцы что-ли писали?

     
  • 2.95, Аноним (-), 12:26, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    выложь пожалуйста. было б неплохо неручёные телефоны рутить
     

  • 1.87, Аноним (-), 12:08, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Забавный эффект происходит на 3.19.7-200.fc21.x86_64 : после запуска коровы она как будто бы зависает и ничего не печатает после "mmap ********", но при этом файл изменяется... Вообще это очень хорошо что открыли - может помочь в получении рутовских возможностей на телефонах которые залочили тупые производители (где рута пока нету)
     
     
  • 2.113, Андрей (??), 14:17, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Вот бы и мне мой андроид наконец-то освободить.
     

  • 1.90, Меломан1 (?), 12:11, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Fedora 25 4.8.2-300.fc25.x86_64 замораживается напрочь даже SysRq не отвечает.

    А вот на RHEL 7.2 3.10.0-327.36.2.el7.x86_64 замечательно работает. Жопа то какая!

     
     
  • 2.100, iZEN (ok), 12:41, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Осталось проверить линуксатор FreeBSD. Там база CentOS 6.8 и 7.2, а вызовы ядра естественно эмулируются FreeBSD.
     
     
  • 3.112, Клыкастый тигар Изя Цельсионович (?), 14:07, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Если тебе, то WSL лучше проверить.
     

  • 1.94, vvk_tmn (ok), 12:24, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    JFYI
    На openvz-ядре 2.6.32-042stab108.8 не воспроизводится.
    На proxmox 3.4 с ядром 2.6.32-45-pve не воспроизводится.
     
  • 1.96, Аноним (-), 12:29, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Сайт прекрасен. Нет, это не очередная выпендрежная поделка на бутстрапе, здесь наоборот, концентрированный сарказм и высмеивание хипстоты:

    >we created a website, an online shop, a twitter account, and used a logo that a professional designer created

     
     
  • 2.128, Аноним (-), 15:38, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Сайт прекрасен. Нет, это не очередная выпендрежная поделка на бутстрапе, здесь наоборот,
    > концентрированный сарказм и высмеивание хипстоты:
    >>we created a website, an online shop, a twitter account, and used a logo that a professional designer created

    Угу, с шутками и прибаутками, явно не профессионал делал.

     

  • 1.99, ALex_hha (ok), 12:38, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > сказано же в новости что на центоси 6 не работает

    точно, упустил этот момент

     
  • 1.103, Ващенаглухо (ok), 13:12, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    4.8.2-1-ARCH долго работало и в итоге получилось
    $ ./dirtyc0w /tmp/foo m00000000000000000
    mmap 7e85e000

    madvise 0

    procselfmem 1800000000

    $ cat /tmp/foo
    m000

     
  • 1.104, Аноним (-), 13:13, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На предпоследнем ядре стабильного дебиана прекрасно работает.
    *Побежал обновлять все пэкарни*
     
  • 1.111, Аноним (-), 14:01, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    5и6 - наше все.
     
  • 1.114, Аноним (-), 14:23, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Отлично теперь можно рутовать любой андроид :)
     
     
  • 2.139, Джо (?), 17:06, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Дальше через через SELinux не проберешься
     

  • 1.143, Аноним (-), 17:36, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Школота на гитхабе: http://itmages.ru/image/view/5061906/0598c457
    Дожили, епрст.
     
     
  • 2.145, arisu (ok), 17:50, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Школота на гитхабе: http://itmages.ru/image/view/5061906/0598c457
    > Дожили, епрст.

    как будто шитхаб создан не для хипсторов и школоты.

     
     
  • 3.184, Led (ok), 21:49, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > как будто шитхаб создан не для хипсторов и школоты.

    Как будто хипстота и школота не считает, что всё в мире создано для них.

     

  • 1.147, Аноним (-), 18:23, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Linux im 4.6.0-0.bpo.1-amd64 #1 SMP Debian 4.6.4-1~bpo8+1 (2016-08-11) x86_64 GNU/Linux
    Linux hetzner5 4.5.0-0.bpo.2-amd64 #1 SMP Debian 4.5.4-1~bpo8+1 (2016-05-13) x86_64 GNU/Linux
    не сработало

    Linux imho 4.7.0-0.bpo.1-amd64 #1 SMP Debian 4.7.5-1~bpo8+2 (2016-10-01) x86_64 GNU/Linux
    сработало

    Кроме как от ядра от чего еще может зависить?

     
  • 1.155, soarin (ok), 18:32, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    https://dirtycow.ninja

    10 коров из 10 за такой FAQ :D

     
     
  • 2.227, Аноним (-), 14:52, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > 10 коров из 10 за такой FAQ :D

    Присоединяюсь! Для предотвращения подобных ситуевин в будущем, там предлагается донатить во фряху!

     

  • 1.156, Аноним (-), 18:33, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отставить, во время неудачны тестов отсутствовал доступ на чтение (для группы тестера)
     
  • 1.161, Sfinx (ok), 18:44, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    не пашет exploit, слакварь :

    Linux Dao 4.4.7 #2 SMP Tue Apr 12 15:45:52 CDT 2016 x86_64 AMD FX(tm)-8150 Eight-Core Processor AuthenticAMD GNU/Linux

     
     
  • 2.165, Аноним (-), 18:49, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    держи нас в курсе
     
  • 2.185, Led (ok), 21:50, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    У криворуких 80го левела даже эксплойты не работают.
     

  • 1.168, Гость (??), 19:01, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Не послушал Линус Танненбаума, вот и расхлёбывают теперь.
     
     
  • 2.178, Клыкастый тигар Изя Цельсионович (?), 21:13, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Не послушал Линус Танненбаума, вот и расхлёбывают теперь.

    Вместо того, чтобы гонять весь такой правильный миникс на ворованой vmare из-под вантуза.

     

  • 1.175, Аноним (-), 20:46, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    "уже эксплуатируемая злоумышленниками
    Например, в прототипе эксплоита показано как использовать данную проблему"
    На опеннет журналисты из федеральных каналов России... Где пример эксплуатации, например взлом rhel или googla?
     
     
  • 2.176, Michael Shigorin (ok), 20:59, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > На опеннет журналисты из федеральных каналов России...
    > Где пример эксплуатации, например взлом rhel или googla?

    Что Вы, потерь нет, а боевой экземпляр сдали повинившиеся блэкхеты.

     
     
  • 3.179, Аноним (-), 21:29, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Что Вы, о чем Вы? О том что автор статьи не привел конкретных способов эксплуатации и взломов конкретных систем. С давних времен используется человеками гипноз, но фактов его использования нет, но зато он есть, кто исправил эту воображаемую уязвимость мозга? Конкретных примеров нет, кроме подсадных уток... В данном случае даже уток нет(я про статью)
     
     
  • 4.180, arisu (ok), 21:34, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +4 +/
    если ты из приведённого демонстрационного кода не способен сделать полноценную пробивалку — просто молча проходи мимо, не отсвечивай своим идиотизмом. потому что это тривиальная задача.
     
     
  • 5.189, Аноним (-), 22:29, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    О конкретика, примеры, в ваших словах я их прямо вижу, может вам в бойцовский клуб? Нет вам в клуб знатоков идиотов, ведь вы же не идиот...
     
     
  • 6.190, arisu (ok), 22:35, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да зватит уже свою глупость демонстрировать, все поняли.
     
     
  • 7.194, Аноним (-), 23:09, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    зватит, зватит и та сойдет
     
     
  • 8.198, arisu (ok), 23:23, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    виноват, извиняюсь ... текст свёрнут, показать
     
  • 5.192, Аноним (-), 22:54, 21/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Эх, во раньше были времена. Ну, там античат и прочие сайты, где "умников" фильтровали. Все пропало и вот, теперь ОНИ приходят и ТРЕБУЮТ. Требуют! Совсем обнаглели.
     
  • 3.228, KM (?), 15:19, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    #32643 - м?
     

  • 1.181, Fantomas (??), 21:35, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    воблин, обновлятьсянадо
     
  • 1.196, Аноним (-), 23:18, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Подскажите, каким образом обычный пользователь может подвергнуться такой атаке? Например, посетив заражённый сайт?
     
  • 1.201, Аноним (-), 23:56, 21/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я что-то не понимаю - если файл отражен только для чтения,
    зачем вообще "синхронизировать" память с диском?

    Ну записали в read-only страницы, но зачем эти страницы помещать в список страниц которые "грязные" и их нужно на диск скидывать?
    Разве нельзя считать read-only всегда "чистыми"?

     
     
  • 2.217, Аноним (-), 02:43, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Используется уязвимость в copy-on-write с помощью незаметного нагружения всего процессора на полминуты для создания гоночек, но все админы вокруг поголовно не замечают дерзкой активности процессоров, такие дела... И никто не заметил и ничего не сделал... Всем нравится как повышают права не заметно, всего лишь загрузив на 100% проц с одного аккаунта, мы имеем пример уязвимости для котов, которые научились ставить убунту...
     

  • 1.202, nonamenoname (?), 00:07, 22/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    В OpenSUSE 42.1 прилетело обновление 4.1.34-33-default
    Сабж уже не работает.
     
  • 1.208, L29Ah (?), 00:23, 22/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чёт не работает на PaX:
    ‰ ./dirtyc0w foo m00000000000000000
    mmap 8827c000

    madvise 0

    procselfmem -100000000

     
  • 1.210, nc (ok), 00:37, 22/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Интересно, для андроида рутовалку можно на этом сделать?
     
     
  • 2.223, anomymous (?), 10:30, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее да, чем нет.
     
  • 2.229, Аноним (-), 16:27, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Было бы превосходно
     
  • 2.231, Andrey Mitrofanov (?), 18:02, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Интересно, для андроида рутовалку можно на этом сделать?

    Говорят, http://forum.xda-developers.com/general/security/dirty-cow-t3484879 можно.

    https://lmddgtfy.net/?q=dirty-cow+android+root

     
     
  • 3.232, Андрей (??), 03:40, 23/10/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Какое-то там совсем теоретическое "можно". Да, наверняка, можно перезаписать какой-нибудь бинарник. Но какой, чтобы потом какой-нибудь рутовский процесс его собственно и запустил, ни слова. (А там ещё этот SELinux сидит, сторожит.)
     
     
  • 4.243, Андрей (??), 23:33, 24/10/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тем временем там уже появились более знающие люди.
     

  • 1.222, Аноним (-), 10:11, 22/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    опять ребутится...
     
  • 1.224, Аноним (-), 10:42, 22/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Тьфу, опять сайт сочинили, опять логотип, да когда ж уймутся уже эти пиарщики багов в открытом софте-то! Где такой же пиар для дыр в винде, где такой же пиар для дыр в макоси, где такой же пиар для дыр в разных закрытых RTOS вроде QNX/VxWorks??? Доколе?
     
     
  • 2.230, arisu (ok), 17:38, 22/10/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    так займись! видишь, какое поле непаханое.
     

  • 1.237, Аноним (237), 08:16, 24/10/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Да куда уж теперь без уязвимостей. Молодцы что нашли и устранили. А если параноик то собирай и компилируй ядро сам уязвимостей будет меньше. И вообще все переходим на gentoo. Черт ногу потом сломает что и как взламывать. У каждого-же свои сборки ядра.
     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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