LINUX.ORG.RU

В ядрах Linux >=2.6.39 найдена локальная root-уязвимость

 , , , ,


0

2

В ядре Linux найдена опасная уязвимость, позволяющая локальному злоумышленнику выполнить код с правами пользователя root. Проблема наблюдается начиная с ядра 2.6.39. На данный момент уже опубликовано три рабочих эксплоита. Уязвимости присвоен номер CVE-2012-0056.

Источником уязвимости является ошибка в реализации proc-интерфейса для прямого доступа к памяти процесса (/proc/pid/mem). В ядре 2.6.39 защита против неавторизованного доступа к этому файлу была признана неэффективной, поэтому «#ifdef» для защиты от записи в случайные области памяти был убран, вместо этого была добавлена проверка правильных разрешений на доступ. Как оказалась, проверка привилегий была выполнена некорректно, что позволяет локальному пользователю получить права суперпользователя в ядрах 2.6.39 и выше (исключая GIT snapshot, в котором данная уязвимость была на днях закрыта).

На данный момент ни один из дистрибутивов данную ошибку не закрыл.

Взято с opennet.ru

>>> Подробности

★★★★★

Проверено: anonymous_incognito ()
Последнее исправление: pekmop1024 (всего исправлений: 2)

Ответ на: комментарий от true_admin

Ну альт-линуксом, например, пользуются.

altlinux.ru - не вижу ни новостей об обновлениях безопасности, ни ссылки на мейллисты где как-то отслеживаются подобные проблемы.

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

myhand
()
Ответ на: комментарий от boyarsh

спасибо, явный плюс альтовцам за оперативность

anonymous
()
Ответ на: комментарий от myhand

не вижу ни новостей об обновлениях безопасности

http://sisyphus.ru/en/security/

ни ссылки на мейллисты где как-то отслеживаются подобные проблемы.

ты тоже сделал echo 127.0.0.1 google.com >>/etc/hosts ?

PS альтом не пользуюсь и видел его пару раз в жизни

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

http://sisyphus.ru/en/security/

Ага, они у rhel скопипастили дырку.

ты тоже сделал echo 127.0.0.1 google.com >>/etc/hosts ?

Да нет. Просто дистрибутив, который заставляет пользоваться гуглом для поиска элементарной информации по нему, вместо собственного сайта - не предназначен для использования.

Сравни: http://www.debian.org/

myhand
()

На gentoo hardened в исходном виде не воспроизводится. su запрещён для чтения и выполнения юзерами. Однако objdump юзерам был доступен, т.ч. на всякий случай выставил ему 700ку, хотя это тоже не панацея - захотят - протащат свой и найдут таки смещение.

NightOperator ★★★
()
Ответ на: комментарий от NightOperator

автор эксплойта выложил утилиту http://git.zx2c4.com/CVE-2012-0056/tree/ptrace-offset-finder.c

Update 3: Gentoo is smart enough to remove read permissions on SUID binaries, making it impossible to find the exit@plt offset using objdump. I determined another way to do this, using ptrace. Ptrace allows debugging of any program in memory. For SUID programs, ptracing will drop its privileges, but that’s fine, since we simply want to find internal memory locations. By parsing the opcode of the binary at the right time, we can decipher the target address of the next call after the printing of the error message. I’ve created a standalone utility that returns the offset, as well as integrating it into the main mempodipper source.

xtraeft ★★☆☆
()
Ответ на: комментарий от xtraeft

Хех. Ну тогда только отрубать оба сервера от сети и ждать патчей получается :)

NightOperator ★★★
()
Ответ на: комментарий от Ramen

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

juk4windows
()
Ответ на: комментарий от juk4windows

Птаху тут уже забыли или те, кто его помнил, уже ушли с ресурса. :)

Ну как минимум я ещё помню. :)

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

Я помню, что была какая-то teh drama, но сути уже вспомнить не могу. О каких условиях речь?

Ramen ★★★★
()
Ответ на: комментарий от Ramen

карму он хотел и еще какой то бред

и постоянно пишет, что от своего ника больше писать не будет, тем не менее постоянно что-то постит

xtraeft ★★☆☆
()
Ответ на: комментарий от myhand

Сравни: http://www.debian.org/

единственное что мне нужно это чтобы на почту падали уведомления о проблемах с безопасностью и только для тех пакетов которые у меня установлены (например, при помощи debsecan какого-нить). Ходить на debian.org и смотреть что там закрыли а потом смотреть что из этого для меня актуально я не буду, это неоптимальный алгоритм.

true_admin ★★★★★
()
Ответ на: комментарий от xtraeft

wan

что зачем? или у тебя 1 рецепт на все случаи жизни? или ты как на железке полагаешь что лучший FW - ето 15 см воздуха?;)

mumpster ★★★★★
()
Ответ на: комментарий от WindowsXP

noptrace

можно воспользоваться ptrace

а если нельзя? если кто забыл, то есть такая штука:
https://gist.github.com/1216637
Kernel module to disable the ptrace() system call
до этого был и другой модуль
нафик вообще ptrace нужен на рабочем серваке?

mumpster ★★★★★
()
Ответ на: noptrace от mumpster

lcap

и опять же - man lcap -> lcap CAP_SYS_PTRACE

mumpster ★★★★★
()
Ответ на: комментарий от xtraeft

потому что ботнет был с открытых админок, а раздули до мифических уязвимостей
Да ладно?! «Your username and password combinations are weak, OR the daemons that your firmware uses are exploitable

RussianNeuroMancer ★★★★★
()

Gentoo Hardened, hardened-sources 3.1.6-hardened, amd64. mempodipper.c не работает. Без -o вообще зависает (на «Ptracing su to find next instruction without reading binary.»), пока не жмякнешь ^C, а если ему дать смещение, отрабатывает, но рутового шелла всё равно не даёт.

anonymous
()
Ответ на: комментарий от RussianNeuroMancer

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

OR the daemons that your firmware uses are exploitable.

? так и не будет примеров?

из вики

The primary attack vector is SSH or telnet access. Using brute-forcing, it tries to gain access from over 6000 usernames and 13000 passwords.

xtraeft ★★☆☆
()
Ответ на: комментарий от anonymous

Упс, таки сработало, получился root. Без параметра -o, через ptrace. С параметром не работает.

anonymous
()
Ответ на: комментарий от RussianNeuroMancer

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

xtraeft ★★☆☆
()
Ответ на: комментарий от wheel

Как-то до сих пор на Слаке ни один из этих «эксплойтов» не сработал.

Тут же уже и были примеры, когда просто из-за особенностей дистрибутива какие-то дополнительные условия не выполняются. Но это не значит, что, к примеру, ядро не дырявое. Если кто-то, случайно, или намеренно, эти условия создаст - сработает.

AS ★★★★★
()
Ответ на: комментарий от xtraeft

Ну погуглите вы, если так неймётся. Например у WAP54Gv3 открыт доступ к страницам Debug_command_page.asp и debug.cgi по логину и паролю Gemtek/gemtekswd вне зависимости от того, какой пароль указали вы. Или вот весёлая дыра в D-Link. И так далее, и тому подобное.

RussianNeuroMancer ★★★★★
()

Помогите с канпеляцией ведра. make oldconfig мне сходу выдал:

  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf --oldconfig Kconfig
*
* Restart config...
*
*
* Group CPU scheduler
*
Group CPU scheduler (CGROUP_SCHED) [Y/?] y
  Group scheduling for SCHED_OTHER (FAIR_GROUP_SCHED) [Y] y
    CPU bandwidth provisioning for FAIR_GROUP_SCHED (CFS_BANDWIDTH) [N/y/?] (NEW)

Читаю что это на Опеннете:

Система гибкого распределения ресурсов CPU (Process bandwith controller). В планировщик задач CFS добавлена возможность ограничения времени потребления CPU для группы процессов, например, если система не нагружена, подобная возможность позволит выделить больше ресурсов процессам, которые в иной ситуации были бы ограничены более жёстко. Разделяя текущие ресурсы CPU (процессорное время) между всеми процессами, планировщик задач ранее не имел механизмов адресного распределения свободных ресурсов CPU, так как все процессы потенциально заинтересованы получить как можно больше времени CPU.

Начиная с версии ядра 3.2 появилась возможность задать верхнюю границу допустимых затрат ресурсов CPU, которую теперь можно указать для группы процессов через задание квоты процессорного времени и периода действия квоты. Вместо общей квоты на максимальное время CPU, действующей на всём протяжении выполнения процесса, новая схема подразумевает задание дополнительного параметра - числа микросекунд, за которые группе разрешено потратить ресурсы, указанные в значении квоты. После истечения периода - выделенная квота становится доступной снова (если квота уже израсходована до истечения периода, процесс замораживается до наступления следующего);

Раз это полезная опция, то почему она по-умолчанию «N»?

ZenitharChampion ★★★★★
()
Ответ на: комментарий от RussianNeuroMancer

ну и какой идиот админку в wan открывает?

xtraeft ★★☆☆
()
Ответ на: комментарий от WindowsXP

А поздно :)

Нам и руками пропатчить не проблема в отличие от...
Ну и сегодня прилетело:

23 Jan 2012; Michael Pagano <mpagano@gentoo.org>
+gentoo-sources-3.1.10.ebuild, +gentoo-sources-3.2.1-r1.ebuild:
Clean up and fix /proc/<pid>/mem handling, prevent local privilege escalation

Jam_666
()
Ответ на: комментарий от wheel

Как-то до сих пор на Слаке ни один из этих «эксплойтов» не сработал. А «вирусы-трояны» зачастую даже не компилируются, не то что не работают...

При чем тут слака? Если експлойт не работает на слаке значит его нет? Странный подход. Уязвимость ядра затрагивающая абсолютное большинство пользователей линукс. Да, не удаленная, иначе вообще был бы эпик фейл, а так просто локальный фейл :))). Надо смотреть правде в глаза, а не пытаться что-то оправдать. В убунте кстати уже исправили, обрывается на «Executing su with shellcode».

Buy ★★★★★
()
Ответ на: комментарий от Ramen

Я тоже уже не помню, кажется, он модератором хотел стать.

juk4windows
()
Ответ на: комментарий от Reset

Я не знаком с теми, кто использует пиратский windows. Сейчас это не 10 лет назад.


Да ты похоже вообще ни с кем ни знаком

Xunnu ★★
()
Ответ на: комментарий от bornbewild

И самое смешное что у меня в генту без sudo не получить
смещение потому что у su нету влага чтения, только исполнение.

Его не нужно «получать». Его можно элементарно подобрать на системе без ASLR. Всего делов перебрать несколько тысяч ардесов начиная с 0x400000.

sf ★★★
()
Ответ на: комментарий от xtraeft

ну а где их принадлежность к Psyb0t? =)
Ну, извините, за неимением сорцев проверить принадлежность не могу. Однако, что-то мне подсказывает, что поддержках таких общеизвестных дыр наверняка была реализована.
> ну и какой идиот админку в wan открывает?
Для заражения роутера не обязательно открывать её в WAN. Это может сделать дроппер из локальной сети, с ШINDOШS-PC.

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

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от Buy

Да, не удаленная, иначе вообще был бы эпик фейл, а так просто локальный фейл :)))

как ты представляешь remote root exploit в ядре?:)

xtraeft ★★☆☆
()
Ответ на: комментарий от xtraeft

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

RussianNeuroMancer ★★★★★
()
Ответ на: комментарий от true_admin

единственное что мне нужно это чтобы на почту падали уведомления о проблемах с безопасностью

Телепатически что-ли адрес вашей почты рассылки узнали?

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

Ходить на debian.org и смотреть что там закрыли а потом смотреть

Это вам никто и не предлагает. Но то, что такая информация доступна на сайте дистрибутива, а не запихнута бог весть куда - элементарный критерий для отсева всякой муры.

myhand
()
Ответ на: комментарий от myhand

Телепатически что-ли адрес вашей почты рассылки узнали?

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

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

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

Важно банальное присутствие информации о состоянии с проблемами безопасности в дистрибутиве, которую можно найти непосредственно на его сайте.

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

Поверьте, проще читать debian-security*@ полностью, чем получать/фильтровать/мержить уведомления от сотен серверов с разным ПО.

Кстати, посмотрев на debsecan - вижу что она для stable не работает (без разницы какой --suite указать). Показывает информацию из баз тестинга, а не с http://security-tracker.debian.org/tracker/status/release/stable

Т.е. она бесполезна, если вы, конечно, не тестинг используете.

myhand
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.