LINUX.ORG.RU

Уязвимость в Linux, позволяющая выполнить произвольный код с USB устройства

 , ,


2

2

В модуле Linux snd-usbmidi-lib обнаружена уязвимость, из-за которой стало возможно запустить код с правами ядра при наличии у злоумышленника физического доступа к компьютеру.

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

Уязвимости подвержены ядра в большинстве дистрибутивов, проблема исправлена в 4.5-rc4. Также проблему можно решить отключив модуль ядра usb-audio.

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



Проверено: maxcom ()
Последнее исправление: cetjs2 (всего исправлений: 4)

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

с тем-же успехом можно сделать переходник с электорозетки на USB и воткнуть его

Вот далеко не факт, что это так просто сработает. Возможно, USB сгорит, а компьютер продолжит работать.

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

От КЗ обычно именно так и бывает. Но возможно 220 вольт переменного тока смогут создать большие повреждения до того как выгорят предохранители (или что там выгорает у портов). В общем нужны дополнительные исследования.

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

Он подгрузится при вставке флешечки. Неужели ты думаешь, что одмины все лишние модули вычищают ? 90% из них это и не смогут сделать. Мозга мало.

lenin386 ★★★★
()

шутки про «астрологи объявили решето» уже были?:)

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

так что микроядро - не панацея, нужны надежные системы с валидным кодом, с С++ на которм у вас там все написано вы изначально в пролете.

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

В лучшем случае ваша система едва дотянет по надежности до Linux, по функциональности по понятным причинам даже сравнивать нечего.

По меньше мере существует возможность использовать код из ядра Linux и оформлять его в виде сервисов. При этом GPL код не будет линковаться с закрытым и лицензия не будет нарушена.

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

Проверю, работает ли в Слаквари.

Если ведро не пересобирал, то почему нет?
CONFIG_SND_USB_AUDIO=m

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

И пулеметные вышки по периметру. Завязывай уже тут свои фантазии изливать.

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

Это удобно, даже так: это универсально. Ведь никто, при всём этом, не запрещает сделать композитное устройство и разбавить своим кастомным классом (только драйвер напиши... или работай через libusb). Адъ - во всём этом разобраться :)

А ещё - учесть, что поддерживается на целевых системах. Оффтопик, вон, до недавнего времени мог UVC 1.1 только (ещё со времён XP), да и то с ограничениями.

Добавь сюда ещё нюансы работы связки контроллер+драйвер (USB 2.x уже достаточно отлажены, а вон на USB 3.0 вылазит постоянно: железобетонно работающие контроллеры+драйвера, практически, только у Intel, потом AMD (но их меньше, как-то), затем идут ASMedia - их контроллеры, обычно, устанавливаются как дополнительные, если не хватает встроенных в нативный чип (к примеру, если у тебя больше 4-6 USB 3.0 портов, то часть из них, практически гарантированно - ASMedia)), загоны контроллеров и их SDK (привет Cypress) и тут получается, что без workaround'ов прошивку устройства писать впринципе невозможно.

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

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

L4 Pistachio. Но из Linux драйвера не брал - потребности не было.

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

Ты разницы между /boot и /proc не видишь? Ну ничего, бывает.

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

Потому что я уже давно привык делать так, особенно когда надо погрепать несколько параметров. Когда вспоминаю что советую ТСу сделать это 1 раз - пишу через grep(zgrep в случае /proc/config.gz). Но вспоминаю я, как ты заметил, не всегда

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

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

imul ★★★★★
()
Ответ на: комментарий от ne-vlezay

пароль настолько крепко спал, что его пришлось «забудить»?

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

autorun с флешек в винде по умолчанию отключен сто лет назад.

ох, не скажи. ХРюша ещё много где стоит.

anonymous
()

эта чо эта типерь в люниксе нада на дескеты пирихадить да

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

Чорт, платку залил компаундом, новую делать лень. эх ...

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

Ты разницы между /boot и /proc не видишь? Ну ничего, бывает.

Я вижу. Ты тоже увидел, но ничего не понял.

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

Если это сервак, то ждать можно весьма долго. Предлагаю для этого случая дополнить схему, в начало добавить if [ $server ]; then вырубаем-у-него-питалово; fi

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

Да все давно уже пофиксили, вы просто не там смотрите. Нормальные админы еще после первых новостей о локал-рут завели себе «специально обученных» собак/котов/крыс/хомячков/рыбок/тюленей/инфузорий_туфелек которые при попытке в отсутствии хозяина что-то сделать с железкой, выгрызают злоумышленнику (иногда и просто случайным прохожим) сердце через пятку и скармливают печень злоумышленника пролетающему орлу.

anc ★★★★★
()

и запустить эксплоит из-под непривилегированного пользователя.

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

hlebushek ★★
()

Также проблему можно решить отключив модуль ядра usb-audio.

Никогда не включал. Оно всё равно толком не работает, так ещё и дырявое.

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