[PATCH] CVE-2015-7547 --- glibc getaddrinfo() stack-based buffer overflow
Carlos O'Donell
carlos@redhat.com
Tue Feb 16 21:03:00 GMT 2016
On 02/16/2016 04:00 PM, Mike Frysinger wrote:
> On 16 Feb 2016 13:24, Carlos O'Donell wrote:
>>>> --- a/resolv/res_send.c
>>>> +++ b/resolv/res_send.c
>>>>
>>>> + Please also note that for TCP we send both queries over the same
>>>> + socket one after another. This technically violates best practice
>>>> + since the server is allowed to read the first query, respond, and
>>>> + then close the socket (to service another client). If the server
>>>> + does this, then the remaining second query in the socket data buffer
>>>> + will cause the server to send the client an RST which will arrive
>>>> + asynchronously and the client's OS will likely tear down the socket
>>>> + receive buffer resulting in a potentially short read and lost
>>>> + response data. This will force the client to retry the query again,
>>>> + and this process may repeat until all servers and connection resets
>>>> + are exhausted and then the query will fail. It's not known if this
>>>> + happens with any frequency in real DNS server implementations. This
>>>> + implementation should be corrected to use two sockets by default for
>>>> + parallel queries.
>>>
>>> should we open a bug now for this ?
>>
>> Yes. Would you mind helping with that?
>
> https://sourceware.org/bugzilla/show_bug.cgi?id=19646
Awesome. Thanks.
Cheers,
Carlos.
More information about the Libc-alpha
mailing list