diff options
author | Sona Sarmadi <sona.sarmadi@enea.com> | 2018-03-13 10:06:05 +0100 |
---|---|---|
committer | Martin Borg <martin.borg@enea.com> | 2018-03-13 10:11:23 +0100 |
commit | f31a40902561a9ebc7aff7efb3461c4dcd92feaa (patch) | |
tree | fd0998cd1a8dd435a3109a50b2c9d438abf8ad41 /recipes-core | |
parent | 7084be4c7f3276f70ff28a60a123d0523c9a1f96 (diff) | |
download | meta-nfv-access-common-f31a40902561a9ebc7aff7efb3461c4dcd92feaa.tar.gz |
systemd: fix for CVE-2017-15908
Infinite loop in the dns_packet_read_type_window() function
Upstream patch:
https://github.com/systemd/systemd/commit/8aeadf3052a2130b88d5bccf5439890e1034f28d
Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
Signed-off-by: Martin Borg <martin.borg@enea.com>
Diffstat (limited to 'recipes-core')
-rw-r--r-- | recipes-core/systemd/systemd/CVE-2017-15908.patch | 44 | ||||
-rw-r--r-- | recipes-core/systemd/systemd_%.bbappend | 5 |
2 files changed, 49 insertions, 0 deletions
diff --git a/recipes-core/systemd/systemd/CVE-2017-15908.patch b/recipes-core/systemd/systemd/CVE-2017-15908.patch new file mode 100644 index 0000000..6851243 --- /dev/null +++ b/recipes-core/systemd/systemd/CVE-2017-15908.patch | |||
@@ -0,0 +1,44 @@ | |||
1 | From 9f939335a07085aa9a9663efd1dca06ef6405d62 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl> | ||
3 | Date: Wed, 25 Oct 2017 11:19:19 +0200 | ||
4 | Subject: [PATCH] resolved: fix loop on packets with pseudo dns types | ||
5 | |||
6 | Reported by Karim Hossen & Thomas Imbert from Sogeti ESEC R&D. | ||
7 | |||
8 | Upstream-Status: Backport | ||
9 | CVE: CVE-2017-15908 | ||
10 | |||
11 | Upstream patch: | ||
12 | https://github.com/systemd/systemd/commit/8aeadf3052a2130b88d5bccf5439890e1034f28d | ||
13 | |||
14 | https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/172535 | ||
15 | |||
16 | Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com> | ||
17 | --- | ||
18 | src/resolve/resolved-dns-packet.c | 6 +----- | ||
19 | 1 file changed, 1 insertion(+), 5 deletions(-) | ||
20 | |||
21 | diff --git a/src/resolve/resolved-dns-packet.c b/src/resolve/resolved-dns-packet.c | ||
22 | index e2f227bfc64..35f4d0689b2 100644 | ||
23 | --- a/src/resolve/resolved-dns-packet.c | ||
24 | +++ b/src/resolve/resolved-dns-packet.c | ||
25 | @@ -1514,7 +1514,7 @@ static int dns_packet_read_type_window(DnsPacket *p, Bitmap **types, size_t *sta | ||
26 | |||
27 | found = true; | ||
28 | |||
29 | - while (bitmask) { | ||
30 | + for (; bitmask; bit++, bitmask >>= 1) | ||
31 | if (bitmap[i] & bitmask) { | ||
32 | uint16_t n; | ||
33 | |||
34 | @@ -1528,10 +1528,6 @@ static int dns_packet_read_type_window(DnsPacket *p, Bitmap **types, size_t *sta | ||
35 | if (r < 0) | ||
36 | return r; | ||
37 | } | ||
38 | - | ||
39 | - bit++; | ||
40 | - bitmask >>= 1; | ||
41 | - } | ||
42 | } | ||
43 | |||
44 | if (!found) | ||
diff --git a/recipes-core/systemd/systemd_%.bbappend b/recipes-core/systemd/systemd_%.bbappend new file mode 100644 index 0000000..4fe658a --- /dev/null +++ b/recipes-core/systemd/systemd_%.bbappend | |||
@@ -0,0 +1,5 @@ | |||
1 | # look for files in the layer first | ||
2 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" | ||
3 | |||
4 | SRC_URI += "file://CVE-2017-15908.patch \ | ||
5 | " | ||