LINUX.ORG.RU

Критическая уязвимость в модуле NetUSB, используемом в SOHO-маршрутизаторах

 , , , ,


0

2

Опубликована информация о критической уязвимости в NetUSB, проприетарном продукте, развиваемом тайваньской компанией KCodes. NetUSB представляет собой модуль ядра Linux, который запускает веб-сервер на 20005 порту и предоставляет возможность проброса USB-устройств по сети.

Данный модуль используется в прошивках многих популярных SOHO-маршрутизаторов и работает постоянно, даже если к маршрутизатору не подключено ни одно USB-устройство. При обращении к маршрутизатору клиент NetUSB, выполненный в виде приложения для Windows и OS X, посылает имя компьютера и опционально может указать его длину. Из-за отсутствия проверки в драйвере, указав длину имени, превышающую 64 символа, злоумышленник может вызвать переполнение буфера, и организовать выполнение кода с правами ядра.

Изучив модуль подробнее, исследователи обнаружили упоминание 26 компаний — поставщиков сетевого оборудования. Среди них такие производители, как Netgear, D-Link, TP-Link, Trendnet и Zyxel. Уже обнаружены 92 уязвимые модели оборудования. Различные производители называют эту функцию по-своему: ReadyShare (NetGear) “print sharing”, “USB share port”. В ряде случаев возможность отключения данного функционала не предусмотрена и единственным выходом остаётся блокирование запросов на 20005 порт

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

Исследователи обнаружили уязвимость в феврале 2015 года и сразу связались с компанией KCodes, предоставив им все необходимые сведения и прототип эксплоита. Из полученных ответов сложилось впечатление, что специалисты компании плохо поняли суть уязвимости, а впоследствии и вовсе перестали отвечать. После этого исследователи обратились к производителям сетевого оборудования. Компания TP-LINK признала проблему и собирается выпустить обновлённые прошивки для своих продуктов. Ответ NETGEAR гласил, что уязвимость не поддаётся исправлению, поскольку нет возможности закрыть отдельный порт или отключить соответствующий функционал. Прочие производители отреагировали лишь после публикации CERT/CC.

Прототип эксплоита пока не опубликован, решено дать производителям время для обновления прошивок.

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

anonymous

Проверено: Shaman007 ()

Из-за отсутствия проверки в драйвере, указав длину имени, превышающую 64 символа

ну тупыыыыые... (с)

I-Love-Microsoft ★★★★★ ()

СОБАЧИЙ ХВОСТ!

anonymous ()

Даёшь рабочий эксплоит! Да чтоб с блэкджэком и ...

mittorn ★★★★★ ()
Ответ на: комментарий от GNU-Ubuntu1204LTS

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

$ nc -vvv 192.168.0.1 20005
Где 192.168.0.1 — IP-адрес роутера. Если эта команда скажет, что порт открыт, то уязвимый модуль присутствует. Как-то так.

Infra_HDC ★★★★★ ()
Ответ на: комментарий от GNU-Ubuntu1204LTS

С WAN порта наверняка не лезется, только через LAN можно, или я ошибаюсь?

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

С WAN порта наверняка не лезется, только через LAN можно, или я ошибаюсь?

а что, роутеры, у которых на WAN порт не установлено drop правило firewall-а еще существуют?

reprimand ★★★★★ ()

Судя по числу каментов nobody care

weare ★★ ()
Ответ на: комментарий от GNU-Ubuntu1204LTS

Прочитать книжку «Как установить OpenWRT на свой маршрутизатор, перестать беспокоиться о проблемах безопасности и начать жить»

ncrmnt ★★★★★ ()
Последнее исправление: ncrmnt (всего исправлений: 1)
Ответ на: комментарий от reprimand

Угу, на некоторой китайщине я как-то вообще на WAN телнет без пароля встречал.

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

ухтыжжесть какая
это же какими рукожопами надо быть...

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

Судя по числу каментов nobody care

Так тут у всех apple airport - на нём netbsd. Так что не подвержен.

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

Угу, на некоторой китайщине я как-то вообще на WAN телнет без пароля встречал.

это просто восхитительно!

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от weare

Судя по числу каментов nobody care

Выпендриваешься безграмотностью?

Nobody cares. Не прогуливай инглиш больше.

anonymous ()

не нашли бы дырку, я даже не узнал что такое есть...

null123 ★★ ()

Это еще ладно, если у пользователя в квартиру ethernet идет - выкинул китайщину, поставил что-нибудь на mini ITX, и спи спокойно. А вот ежели у человека xDSL или коаксиал (HFC, распространен в Германии, например), то тут только и остается, что коробку от провайдера юзать.

cherry-pick ()

решено дать производителям время для обновления прошивок.

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

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

Не прогуливай инглиш больше.

Ему это не поможет.

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

Хотя, по идее xDSL/кабельные модемы можно в режим моста перевести, тогда у них ip-адреса не будет вообще, и они тупо будут ethernet в xDSL/DOCSIS оборачивать, а за ними уже нормальный роутер на mini ITX поставить можно.

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

Так тут у всех apple airport

Яблочный аэропорт? О_о

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

а что, роутеры, у которых на WAN порт не установлено drop правило firewall-а еще существуют?

в дс в локалке провайдера встречал таких минимум 5 штук. 2 д-линка, 2 китая и линуксовый самопал.

По теме - учитывая какие конторы перечислены, сомневаюсь что кто-то заметит разницу

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

Я-бы с радостью, но на всяких этих роутерах замена ОС зачастую какая-то уж очень не тривиальная. Поэтому приходится использовать в качестве роутера писюк с целероном.
Вообще SOHO роутеры — долбаное минное поле.

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

нормальный роутер на mini ITX

А насколько нормален вариант на Raspberry Pi?

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

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

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

Piece of cake: Если сок и борда поддерживается худшее что может быть - разобрать и уарт впаять. Хотя вру, худшее это если окирпичишь загрузчик и надо 8-ногую микросхему отфенить и в программатор ткнуть. Справится и школьник.

Hard mode: если SoC поддерживается, а железка нет. Надо найти где куда подключены кнопочки и диодики, и нарисовать патч для OpenWRT. Ну или забить и жить с прошивкой от ближайшей похожей железки.

Nightmare mode: SoC не поддерживается, документации нет. Надо распотрошить вендорный SDK, снять дифф костылей с ядра и портировать их на апстрим ядро, после чего сделать порт OpenWRT. Зато пройдя квест получишь много очков, кармы, респекта и лишнюю строчку для резюме.

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

Вообще не вариант. Емнип у rPI сеть - гребаный davicom сидящий на usb, который даже 100 мегабит толком протянуть не может.

У меня odroid-x2 в виде сервера юзается, mw4530r (ar9344) в виде роутера. Так вот, в odroid-x2 сеть тоже на USB (HSIC) 100Mbit. После того, как я вместо ethernet взял и тупо usb client подключил в режиме cdc_ether к роутеру у меня раза в два уменьшилось время пинга с роутера до odroid'а, да и скорость стала в кой-то веки больше 100 мегабит. И это несмотря на то, что там на одроеде достаточно качественный SMSC.

Бери тогда уже Banana Pi.

ncrmnt ★★★★★ ()
Последнее исправление: ncrmnt (всего исправлений: 1)
Ответ на: комментарий от ncrmnt

OpenWRT так переработали некоторые части линукса, что теперь даже опенсорс драйвер для хардварного NAT на азеросах не запустить :(

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

ЩИТО? OpenWRT как правило юзают максимально ванильное ядро с пачкой своих патчей, кстати не особенно большой. А хардварного NAT в мейнлайне насколько знаю нет по той самой причине, что это требует диких хаков где-то в районе netfilter и ломает дохрена всего.

Пруф: https://dev.openwrt.org/ticket/11779

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

худшее что может быть - разобрать и уарт впаять

Вот нафига мне это развлечение, если на x86 православный дебиан ставится методом «далее, далее, готово».
Даёшь SOHO роутеры на x86, энергоэффективность не нужна.

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

снять дифф костылей с ядра

А если производитель положил болт на GPL (как например, узкоглазые из HTC со многими своими мобилками) и зажал исходники? Это будет уже Hell on Earth mode?

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

В малинке тоже SMSC.
Из одноплатников самая шустрая сеть - в Odroid C1. Проверял лично с помощью iperf, приём где-то 950 мбит/с, передача - 400-500.

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

Если брать одноплатник, то там нужен либо свитч с VLANами и соответствующим трахом, либо второй Ethernet-адаптер. По-моему намного проще и правильнее взять роутер с поддержкой OpenWrt.

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

Я соврал, там не davicom DM960, а LAN9512 от микрочипа. Это судя по схематике. Но один хрен некомильфо. Лишний слой перед ethernet'ом в нашем случае USB, не сильно просаживает скорость, но здорово увеличивает пинг. Производительность NFS на мелких файлах и mysql от этого больше всего страдают.

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

Нет, тогда надо переключаться в режим юриста-тролля и дрюкать их по судам. А с точки зрения юриста это даже не nightmare.

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

Как у Amlogic дела с апстрим ядром? А то мои старички Odroid-X2 оба на mainline 4.0 крутятся сейчас без проблем.

ncrmnt ★★★★★ ()
% telnet 192.168.1.1 20005  
Trying 192.168.1.1...
telnet: connect to address 192.168.1.1: Connection refused
Citramonum ★★ ()
Ответ на: комментарий от ncrmnt

Где бы еще такого юриста найти, что помог бы мне исходники ядра у HTC отжать)

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

По моему личному опыту - 50/50 - во-первых, ethernet порт у платки всеравно один, и поэтому тебе usb ethernet покупать придется (pci то на платке нету), во-вторых приготовься покупать usb хаб для WiFi, ибо те WiFi-адаптеры, которым питалова от внутреннего порта хватает (edimax, к примеру) - лютое УГ, и вешаются минуты через две интенсивной работы - приходится сеть перезапускать. В-третьих - слабый CPU - у меня, к примеру, на платке OpenVPN-клиент запущен (живу пока в общаге, и у нас для выхода в иненет OpenVPN-туннель юзается), и он грузит CPU малинки на 100% при интенсивном траффике, что делает невозможным работу всяких плюшек для анализа траффика (ntopng, например) без ощутимой просадки производительности.

cherry-pick ()
Ответ на: комментарий от ncrmnt

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

h31 ★★★★ ()
Ответ на: комментарий от cherry-pick

Вот так вот оно у меня выглядит во время работы с http://www.speedtest.net/ (скорость при этом 5.56/6.39 MB/s): http://tau.rghost.ru/6zgjYHYdb/image.png

Пытался недавно ntopng поставить, для няшной статистики, в итоге скорость проседала до 3.3/4 MB/s, ибо ntopng с openvpn за CPU драться начинали.

cherry-pick ()
Ответ на: комментарий от cherry-pick

Это еще ладно, если у пользователя в квартиру ethernet идет - выкинул китайщину, поставил что-нибудь на mini ITX, и спи спокойно. А вот ежели у человека xDSL или коаксиал (HFC, распространен в Германии, например), то тут только и остается, что коробку от провайдера юзать.

С xDSL думаю так же как и с ethernet, по крайней мере adsl карты вроде как существуют (правда сам никогда не поднимал). Про HFC хз но может и существуют такие. Если говорить про Германию так там и ISDN полным ходом используется, вот к нему карты точно есть (поднимал еще когда в ДС такое существовало).

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

xDSL/кабельные модемы можно в режим моста перевести, тогда у них ip-адреса не будет вообще, и они тупо будут ethernet в xDSL/DOCSIS оборачивать, а за ними уже нормальный роутер на mini ITX поставить

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

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

Вот ты умный такой, а чеж ты не выкладываешь свои прошивки для андроидов и роутеров, не пишешь нормальную документацию? В галерею посмотрел - «ну чувак молодец, на любой китайской шняге линукс запустит», зашел к тебе в блог - каша какая-то, даже поиск нормальный не осилил. За то кулстори ты рассказывать мастер. Либо делай все во-человечески чтоб твоими наработками могли пользоваться либо в жж катись.

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

Свич надо, да, т.к. 4 портов уже не хватает: AP (встроенная в существующий роутер не хочет нормально отдавать сигнал), Desktop, телефон, принтер — 4 порта под завязку, планирую расширять домашнее сетевое хозяйство. А готовый 8-портовый роутер найти трудно. И да, Banana Pi совместима с OpenWrt.

Infra_HDC ★★★★★ ()

У меня вкруг MT стоит, там оно есть?

Yustas ★★★ ()
Последнее исправление: Yustas (всего исправлений: 1)
Ответ на: комментарий от anonymous

Вот ты умный такой, не пишешь нормальную документацию?
Либо делай все во-человечески чтоб твоими наработками

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

не выкладываешь свои прошивки для андроидов и роутеров

Потому что прошивку обновляемую надо ВНЕЗАПНО поддерживать. Это время, которое стоит денег и которое мне никто не оплатит. А то как сделать debian chroot на android отлично описано в debian wiki, зачем копипастить лишний раз неизбежно внося в описание ошибки?

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

мне никто не оплатит.

А как же про «много очков, кармы, респекта и лишнюю строчку для резюме.»? Или за карму пусть дурачки страдают?

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