summaryrefslogtreecommitdiffstats
path: root/recipes-core/systemd/systemd/CVE-2017-15908-resolved-fix-loop-on-packets-with-pseudo-dns-types.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-core/systemd/systemd/CVE-2017-15908-resolved-fix-loop-on-packets-with-pseudo-dns-types.patch')
-rw-r--r--recipes-core/systemd/systemd/CVE-2017-15908-resolved-fix-loop-on-packets-with-pseudo-dns-types.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/recipes-core/systemd/systemd/CVE-2017-15908-resolved-fix-loop-on-packets-with-pseudo-dns-types.patch b/recipes-core/systemd/systemd/CVE-2017-15908-resolved-fix-loop-on-packets-with-pseudo-dns-types.patch
new file mode 100644
index 0000000..31bc2b5
--- /dev/null
+++ b/recipes-core/systemd/systemd/CVE-2017-15908-resolved-fix-loop-on-packets-with-pseudo-dns-types.patch
@@ -0,0 +1,41 @@
1From 9f939335a07085aa9a9663efd1dca06ef6405d62 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
3Date: Wed, 25 Oct 2017 11:19:19 +0200
4Subject: [PATCH] resolved: fix loop on packets with pseudo dns types
5
6Reported by Karim Hossen & Thomas Imbert from Sogeti ESEC R&D.
7
8https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1725351
9
10CVE: CVE-2017-15908
11Upstream-Status: Backport [https://launchpadlibrarian.net/342808615/resolved-fix-loop-on-packets-with-pseudo-dns-types.patch]
12
13Signed-off-by: Andreas Wellving <andreas.wellving@enea.com>
14---
15 src/resolve/resolved-dns-packet.c | 6 +-----
16 1 file changed, 1 insertion(+), 5 deletions(-)
17
18diff --git a/src/resolve/resolved-dns-packet.c b/src/resolve/resolved-dns-packet.c
19index e2f227bfc6..35f4d0689b 100644
20--- a/src/resolve/resolved-dns-packet.c
21+++ b/src/resolve/resolved-dns-packet.c
22@@ -1514,7 +1514,7 @@ static int dns_packet_read_type_window(DnsPacket *p, Bitmap **types, size_t *sta
23
24 found = true;
25
26- while (bitmask) {
27+ for (; bitmask; bit++, bitmask >>= 1)
28 if (bitmap[i] & bitmask) {
29 uint16_t n;
30
31@@ -1528,10 +1528,6 @@ static int dns_packet_read_type_window(DnsPacket *p, Bitmap **types, size_t *sta
32 if (r < 0)
33 return r;
34 }
35-
36- bit++;
37- bitmask >>= 1;
38- }
39 }
40
41 if (!found) \ No newline at end of file