Bug 26600 - Transaction ID collisions cause slow DNS lookups in getaddrinfo
Summary: Transaction ID collisions cause slow DNS lookups in getaddrinfo
Status: RESOLVED FIXED
Alias: None
Product: glibc
Classification: Unclassified
Component: network (show other bugs)
Version: 2.33
: P2 normal
Target Milestone: 2.33
Assignee: Florian Weimer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-09-11 13:01 UTC by Florian Weimer
Modified: 2020-11-10 16:00 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:
fweimer: security-


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Weimer 2020-09-11 13:01:21 UTC
If the A and AAAA queries have equal transaction IDs, the initial AAAA response is not recognized as valid, resulting in timeouts and retransmits.
Comment 1 Florian Weimer 2020-09-11 13:02:20 UTC
This bug is distinct from bug 19691 in the sense that it is possible to fix it without reworking the buffer management.
Comment 2 Florian Weimer 2020-09-11 13:05:49 UTC
Patch posted: https://sourceware.org/pipermail/libc-alpha/2020-September/117547.html
Comment 3 Sourceware Commits 2020-10-14 09:34:14 UTC
The master branch has been updated by Florian Weimer <fw@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f1f00c072138af90ae6da180f260111f09afe7a3

commit f1f00c072138af90ae6da180f260111f09afe7a3
Author: Florian Weimer <fweimer@redhat.com>
Date:   Wed Oct 14 10:54:39 2020 +0200

    resolv: Handle transaction ID collisions in parallel queries (bug 26600)
    
    If the transaction IDs are equal, the old check attributed both
    responses to the first query, not recognizing the second response.
    This fixes bug 26600.
Comment 4 Florian Weimer 2020-10-14 09:34:46 UTC
Fixed for glibc 2.33.
Comment 5 Sourceware Commits 2020-11-10 16:00:06 UTC
The release/2.32/master branch has been updated by Florian Weimer <fw@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=2dfa659a66f20facc4082207884c20e986ddecee

commit 2dfa659a66f20facc4082207884c20e986ddecee
Author: Florian Weimer <fweimer@redhat.com>
Date:   Wed Oct 14 10:54:39 2020 +0200

    resolv: Handle transaction ID collisions in parallel queries (bug 26600)
    
    If the transaction IDs are equal, the old check attributed both
    responses to the first query, not recognizing the second response.
    This fixes bug 26600.
    
    (cherry picked from commit f1f00c072138af90ae6da180f260111f09afe7a3)