LINUX.ORG.RU

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

 , ,


2

2

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

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

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

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



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

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

можно практическое примение этих ошибок

ну там типо эксплоит или чего нибудь что бы получить контроль над системой

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

С сидюка тем более по умолчанию авторан отключен.

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

Отказ в обслуживании при физическом доступе к usb - это смех, а не уязвимость.

Без наличия возможности выполнения кода на локальной системе уязвимость позволяет только инициировать отказ в обслуживании (крах ядра).

А лучше сразу из-под рута тогда.

aplay ★★★★★
()

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

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

Вспоминая новости января - открывай сразу год, чо уж.

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

Я бы ещё пояснил, что USB устройства это такой маленький Адъ. Функциональность и возможности устройства определяются дескрипторами. Существует набор стандартизированных классов устройств, соответствие классу определяется... правильно набором определённых дескрипторов. Вполне возможна ситуация, когда в дескрипторах есть косяк: случайный (при разработке) или намеренный (как тут), но такое может ввести ядро в состояние некондиции.

Лично у меня, при разработке UVC+UAC устройства были моменты когда модуль USB (xchi) тупо падал с красивыми трейсами в dmesg, а порт переставал быть доступным до следующей перезагрузки. Косяк был у меня, но я не согласен с тем, что он должен был бы ломать что-то в ядре.

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

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

Как я понимаю, по дескрипторам происходит конструирование/создание структур данных и ф-й. Например, класс аудио, подкласс миди, то соотвественно выделяются определенные струтуры. Как бы удобно, такой-то фреймворк.

panzerito
()

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

lsmod | grep usb-audio — пусто. Означает ли это, что можно не беспокоиться?

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

Для статики не работает?

Говорил же Таненбаум Линусу.

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

но в данном случае монолитность никакого отношения к этой уязвимости не имеет. Вообще.

Это будет очень плохим микроядром, если от неправильного пакета данных оно будет полностью крашиться. В хорошем драйверы устройств могли бы работать в userspace.

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

прошла мимо уборщица и незаметно пихнула флешечку

чего ты несешь - какая уборщица с флешечкой ?

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

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

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

Сервера я вижу в основном через ssh, но 100% серверов которые я видел глазами за последние года два имели на морде USB дырку. В смысле оба два её имели (: Это были какие-то одновершковые, кажется АСУСы.
Что до модулей, вообще-то довольно часто люди используют универсальные ядра из репозиториев дистра.

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

Так я и пишу что потребность в локальном шеле портит весь цимис уязвимости.
Хотя всё-равно решето.

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

lsmod | grep usb-audio — пусто. Означает ли это, что можно не беспокоиться?

Нет, не означает. Он загрузится при вставки соответствующего устройства.

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

а кто занимается загрузкой модулей, udev? или ядро само умеет?

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

Блин. А у меня как раз дорогущий юсбишный геркулес(

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

Я на Убунту не помешан и мне безразлично сколько народу ей пользуется

Очень важно, что ты рассказал мне об этом.

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

Очень важно, что ты рассказал мне об этом.

Я рад, что для тебя это важно. Хотя, мне на это глубоко плевать.

Anonim999
()

произвольный код с USB устройства

а с микрофона когда??

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

можно практическое примение этих ошибок

Мне это не интересно. Тебе интересно, вот ты и разбирай, что там можно применить. Ну или расслабляйся, считая, что там всё хорошо.

AS ★★★★★
()

Вот бы сейчас линуксы флешками повзламывать...

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

Много ты видел серверов с USB в ДЦ

Их давно не делают без USB.

в лучшем случае консольный порт

А вот этого да, может уже и не быть. Хотя, обычно, один есть.

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

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

Есть такой метод проникновения в компьютеры закрытой организации: на парковке или в лифте разбрасывают несколько якобы кем-то потеряных флешек. Сотрудники организации их находят и... правильно, суют их в рабочие компы.

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

Универсальная коробочка - это ещё один компьютер, к которому ты конектишься по сети. Тут фантазией можно много играть (например в сторону виртуплок со снапшотами и проброски USB), но суть не меняется- подобную USB песочницу организовать можно

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

Есть такой метод проникновения в компьютеры закрытой организации: на парковке или в лифте разбрасывают несколько якобы кем-то потеряных флешек. Сотрудники организации их находят и... правильно, суют их в рабочие компы.

где такой блевотины начитался ? в закрытых организациях тебе руки вместе с флешками открутят если хотя бы в кармане увидят.

anonymous
()

запустить код с правами ядра при наличии у злоумышленника физического доступа к компьютеру

Конечно, раньше это было невозможно.

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

От того что лежит сайт linux mint, сам линукс минт не перестает от этого быть хорошим дистрибутивом.

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

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

ляликс не готов для десктопа

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

А в серьёзных конторах системники ещё и на замок закрывают и тросом к несущей стене прикручивают для безопасности.

Если трос медный, то скорее всего это заземление.

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

Русский язык = язык быдла, быдло трет комменты

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

Это будет очень плохим микроядром, если от неправильного пакета данных оно будет полностью крашиться. В хорошем драйверы устройств могли бы работать в userspace.

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

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

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

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

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

Надо переходить на GNU/Hurd или же лучше было бы наноядро.

Лучше на пикоядро.Типа:

org 100h
jmp dos

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

Что бы сделать этакий разрыв между дыркой для флэшки и самой рабочей станцией.

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

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

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

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

А эти флешки случайно не в форме паяльника выпускаются?

MrClon ★★★★★
()

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

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

А есть варианты, когда USB пробрасывается по сети?

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

либо придумывать протоколы для «расшаривания» всего что можно воткнуть в USB

RDP

либо пробрасывать по сети всё что передаётся на уровне протокола USB

SPICE

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

Так я и пишу что потребность в локальном шеле портит весь цимис уязвимости.

это просто заголовок новости желтый, в результате ожидания не оправдывает

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

Ну так надо не только заголовок читать (:
Кстати без локального шела вроде как можно DoS сделать. Хотя с физическим доступом это не особо интересно (с тем-же успехом можно сделать переходник с электорозетки на USB и воткнуть его :), но всё-же.

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

Да, можно. А в spicy для этого ещё и интерфейс удобный есть.

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