2019-10-24 21:00:51 |
Dan Streetman |
bug |
|
|
added bug |
2019-10-24 21:02:31 |
Dan Streetman |
nominated for series |
|
Ubuntu Disco |
|
2019-10-24 21:02:31 |
Dan Streetman |
bug task added |
|
systemd (Ubuntu Disco) |
|
2019-10-24 21:02:31 |
Dan Streetman |
nominated for series |
|
Ubuntu Eoan |
|
2019-10-24 21:02:31 |
Dan Streetman |
bug task added |
|
systemd (Ubuntu Eoan) |
|
2019-10-24 21:02:31 |
Dan Streetman |
nominated for series |
|
Ubuntu Bionic |
|
2019-10-24 21:02:31 |
Dan Streetman |
bug task added |
|
systemd (Ubuntu Bionic) |
|
2019-10-24 21:02:38 |
Dan Streetman |
systemd (Ubuntu Eoan): status |
New |
Fix Released |
|
2019-10-24 21:02:40 |
Dan Streetman |
systemd (Ubuntu Disco): status |
New |
In Progress |
|
2019-10-24 21:02:42 |
Dan Streetman |
systemd (Ubuntu Bionic): status |
New |
In Progress |
|
2019-10-24 21:02:44 |
Dan Streetman |
systemd (Ubuntu Disco): importance |
Undecided |
Medium |
|
2019-10-24 21:02:46 |
Dan Streetman |
systemd (Ubuntu Bionic): importance |
Undecided |
Medium |
|
2019-10-24 21:02:47 |
Dan Streetman |
systemd (Ubuntu Eoan): importance |
Undecided |
Medium |
|
2019-10-24 21:02:49 |
Dan Streetman |
systemd (Ubuntu Eoan): assignee |
|
Dan Streetman (ddstreet) |
|
2019-10-24 21:02:51 |
Dan Streetman |
systemd (Ubuntu Disco): assignee |
|
Dan Streetman (ddstreet) |
|
2019-10-24 21:02:53 |
Dan Streetman |
systemd (Ubuntu Bionic): assignee |
|
Dan Streetman (ddstreet) |
|
2019-10-24 21:17:15 |
Dan Streetman |
systemd (Ubuntu): status |
New |
Fix Released |
|
2019-10-24 21:17:30 |
Dan Streetman |
tags |
|
bionic ddstreet disco eoan systemd |
|
2019-10-25 09:01:56 |
Dan Streetman |
tags |
bionic ddstreet disco eoan systemd |
bionic ddstreet disco systemd |
|
2019-10-25 14:39:58 |
Dan Streetman |
description |
[impact]
glibc's getaddrinfo() uses EDNS0 to talk to resolved, and it sets its payload limit to 1200. When the response is larger than 1200, resolved will limit the response and set the truncate flag. This causes getaddrinfo() to switch to TCP and request again, but glibc incorrectly keeps the EDNS0 RR opt, with the same 1200 payload limit. Most dns nameservers ignore EDNS0 payload limit for TCP, since per RFC it applies only to UDP, but resolved does not and again marks the response as truncated. This prevents getaddrinfo() from being able to resolve any records with a response over 1200 bytes.
[test case]
use ping or telnet, which use getaddrinfo(), to lookup an A record with a lot of results, like toomany100.ddstreet.org
$ telnet toomany100.ddstreet.org
telnet: could not resolve toomany100.ddstreet.org/telnet: Temporary failure in name resolution
[regression potential]
any regression would likely result in failure to correctly lookup a hostname or to provide the correct response to a local client.
[other info] |
[impact]
glibc's getaddrinfo() uses EDNS0 to talk to resolved, and it sets its payload limit to 1200. When the response is larger than 1200, resolved will limit the response and set the truncate flag. This causes getaddrinfo() to switch to TCP and request again, but glibc incorrectly keeps the EDNS0 RR opt, with the same 1200 payload limit. Most dns nameservers ignore EDNS0 payload limit for TCP, since per RFC it applies only to UDP, but resolved does not and again marks the response as truncated. This prevents getaddrinfo() from being able to resolve any records with a response over 1200 bytes.
[test case]
use ping or telnet, which use getaddrinfo(), to lookup an A record with a lot of results, like toomany100.ddstreet.org
$ telnet toomany100.ddstreet.org
telnet: could not resolve toomany100.ddstreet.org/telnet: Temporary failure in name resolution
[regression potential]
any regression would likely result in failure to correctly lookup a hostname or to provide the correct response to a local client.
[other info]
note that on Bionic, this also requires backporting TCP pipelining support in the stub resolver. |
|
2019-11-09 01:04:13 |
Steve Langasek |
systemd (Ubuntu Disco): status |
In Progress |
Fix Committed |
|
2019-11-09 01:04:17 |
Steve Langasek |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2019-11-09 01:04:19 |
Steve Langasek |
bug |
|
|
added subscriber SRU Verification |
2019-11-09 01:04:22 |
Steve Langasek |
tags |
bionic ddstreet disco systemd |
bionic ddstreet disco systemd verification-needed verification-needed-disco |
|
2019-11-14 15:01:21 |
Łukasz Zemczak |
systemd (Ubuntu Bionic): status |
In Progress |
Fix Committed |
|
2019-11-14 15:01:26 |
Łukasz Zemczak |
tags |
bionic ddstreet disco systemd verification-needed verification-needed-disco |
bionic ddstreet disco systemd verification-needed verification-needed-bionic verification-needed-disco |
|
2019-11-14 15:20:49 |
Dan Streetman |
tags |
bionic ddstreet disco systemd verification-needed verification-needed-bionic verification-needed-disco |
bionic ddstreet disco systemd verification-done-disco verification-needed verification-needed-bionic |
|
2019-11-15 15:53:27 |
Dan Streetman |
tags |
bionic ddstreet disco systemd verification-done-disco verification-needed verification-needed-bionic |
bionic ddstreet disco systemd verification-done verification-done-bionic verification-done-disco |
|
2019-11-15 16:42:20 |
Steve Langasek |
tags |
bionic ddstreet disco systemd verification-done verification-done-bionic verification-done-disco |
bionic ddstreet disco systemd verification-done-disco verification-needed verification-needed-bionic |
|
2019-11-20 07:10:03 |
Dan Streetman |
tags |
bionic ddstreet disco systemd verification-done-disco verification-needed verification-needed-bionic |
bionic ddstreet disco systemd verification-done verification-done-bionic verification-done-disco |
|
2019-11-25 11:18:51 |
Launchpad Janitor |
systemd (Ubuntu Disco): status |
Fix Committed |
Fix Released |
|
2019-11-25 11:19:35 |
Łukasz Zemczak |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2019-11-26 17:37:57 |
Launchpad Janitor |
systemd (Ubuntu Bionic): status |
Fix Committed |
Fix Released |
|