Как уже писал в апдейте к посту про [баг в HNAP DIR-890L][1], его нашли в начале года, в DIR-645, и выпустили патч. Сейчас D-Link выпустил патч и для DIR-890L. Патчи для DIR-645 и DIR-890L одинаковые, поэтому я буду писать только про DIR-890L. Хоть в предыдущем посте я рассматривал только выполнение команд, патч указывает на несколько дыр в безопасности, которые появились из-за использования `strstr` для валидации HNAP-заголовка `SOAPAction`:
* Использование неутентифицированных пользовательских данных в вызове `system`
* Использование неутентифицированных пользовательских данных в вызове `sprintf`
* Неаутентифицированные пользователи могут выполнять привилегированные HNAP-запросы (такие, как смена пароля администратора)
Видите, D-Link признала все это в информации об уязвимости, и они ясно представляли все векторы атаки. Итак, убрали ли они переполнение стека `sprintf`? [![image][2]][3] _sprintf(cmd\_buf, “sh %s%s.sh > /dev/console”, “/var/run”, SOAPAction);_ Нет. [Читать дальше →][4]
[1]:
http://habrahabr.ru/post/256451/
[2]:
http://habrastorage.org/getpro/habr/post_images/7e6/f6f/ebd/7e6f6febdb84c4d64e7ff9d727b65476.png
[3]:
http://habrastorage.org/getpro/habr/post_images/7b4/972/d2b/7b4972d2b6e5a545722388fd385c1aa3.png
[4]:
http://habrahabr.ru/post/256777/#habracut