Серьёзная дыра в glibc

Feb 17, 2016 13:39

Переполнение буфера в getaddrinfo() может привести к падению программы, и даже к удалённому запуску вредоносного кода в тысячах программ, использующих эту функцию, включая ssh и прочие серверы, а также всевозможные роутеры и файрволы, базирующиеся на линуксе. Ошибка возникла ещё в 2008 году, но до настоящего времени никто на неё особого внимания не ( Read more... )

уязвимость, linux, glibc

Leave a comment

Comments 6

vitus_wagner February 17 2016, 13:48:38 UTC
Сколько ж еще мы будем разгребать наследие Дреппера.

Reply

dil February 17 2016, 15:51:32 UTC
А кто обещал, что всё будет легко..

Reply


dadv February 17 2016, 19:25:31 UTC
Потестировал системный ресолвер в FreeBSD, похоже, что не подвержен, но оказалось, что он по дефолту собран с дебагом и при такой атаке начинает гадить в syslog предупреждениями типа: gethostby*.gethostanswer: asked for "60.190.237.151.in-addr.arpa", got "190.237.151.in-addr.arpa"

Reply

_slw February 17 2016, 21:40:03 UTC
так это ж хорошо, не?

Reply

dadv February 18 2016, 08:22:50 UTC
Что проблеме не подвержено - конечно, хорошо, а что в релизной ветке остался включен дебаг и libc по собственной инициативе может флудить в лог - не очень.

Reply

dmarck February 20 2016, 14:16:03 UTC
From: des

[snip]

> Mitigation? (like limiting packet sizes in the firewall--just links to
> other sites might be enough).

Only use resolvers you trust, and limit the size of UDP responses in
your resolvers to 2048 bytes. For BIND, add "max-udp-size 2048;" to
the "options" block in named.conf. For Unbound, add "max-udp-size:
2048" (no semicolon!) to the "server" stanza in unbound.conf.

If the response to a UDP request is larger than 2048 bytes, the server
will send a truncated response with a flag telling the client to retry
using TCP. While the TCP code path is also affected, it can only be
exploited by a malicious resolver.

Reply


Leave a comment

Up