oss-sec mailing list archives

Re: CVE Request: glibc getaddrinfo() stack overflow


From: Sebastian Krahmer <krahmer () suse de>
Date: Wed, 3 Apr 2013 16:55:14 +0200


glibc resolver surprisingly seems to accept indeed larger
UDP packets than DNS servers would send without EDNS0.
But depending on setup its probably hard to get such large
packets through your local recursive DNS, not to speak
about the firewall. Maybe its possible to signal truncation
and force a TCP connect?

Sebastian

On Wed, Apr 03, 2013 at 04:27:58PM +0200, Florian Weimer wrote:
On 04/03/2013 01:10 PM, Marcus Meissner wrote:

I am not sure you can usually push this amount of addresses via DNS for all
setups.

Both IPv4 and IPv6 addresses are combined in that array, right?  Then the 
protocol limit seems to be around 4000 + 2300 addresses (NAME (2 bytes with 
compression) + RCLASS (2) + RTYPE(2) + TTL (4) + RDATALEN(2) + RDATA(4 or 
16) per record, total available space is 64K), which could be used to blow 
128K stacks sometimes used by JVMs.

-- 
Florian Weimer / Red Hat Product Security Team

-- 

~ perl self.pl
~ $_='print"\$_=\47$_\47;eval"';eval
~ krahmer () suse de - SuSE Security Team


Current thread: