|
|
переполнение буффера в клиенте ICQ
Была протестирована версия 99b 1.1.1.1
ICQ есть очень популярная программа коммуникаций, и её клиент подвержен переполнению буффера, которое происходит при парсинге URL, посланного другим пользователем сети. Что ж - как любое переполнение буффера это чревато выполнением любого кода на атакованной машине, и для господ троянщиков настали весёлые времена, если один из них всё же додумается до того, чтобы написать функционирующий эксплоит.
Так же в клиенте имеется большое количество мест, в которых запись непроверенного по длине потока данных производится в буффер фиксированной длины, что и является причиной возможности переполнения буффера.
В данном случае баг находится в механизме передачи посланной по icq URL браузеру, при получении сообщений с включениями вида http://www.someshit.com ICQ при клике на такое включение передаст его браузеру через буффер фиксированной длины. Итак, если вы пошлёте кому-либо сообщение с URL вида http://www.site.com/AAAAAAA .. ~1000 символов ... АААА, то ICQ свалится с EIP, забитым 414141, то есть мы можем переставить его на любое место адресного пространства ICQ и соответственно исполнить какой-либо код. Как всегда имеются некие трудности с реализацией правильного кода, эксплоитящего клиента, код не может содержать запятых и символа 0x01 (что, в принципе, как всегда, решается XOR'ом всей последовательности команд и дальнейшего раз'XOR'ивания)
Как обычно, Mirabilis никак не прореагировало на информацию о баге. Мы посоветуем лишь воздержаться от нажимания на длинные непонятные URL, пришедшие от ваших лучших друзей - это убережёт вас от многих недоразумений.
Так же было отмечено, что старые версии клиентов, неспособные посылать сообщения длиной более чем в 450 символов, без проблем принимали и послыали такие "длинные" URL, т.е. непрерывные (без , и 0x20) наборы символов, начинающиеся с http://
Учитывая открытость исходных текстов mICQ, lICQ, будет не очень сложным написать своего клиента (malicious client), который осуществит рассылку эксплоита всем номерам по списку, от 10000 до 60 000 000.
duke
Team Void
|
|