You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.1 KiB
34 lines
1.1 KiB
2 years ago
|
From c232bc1f346a6af9777c216d01f7940898ae1650 Mon Sep 17 00:00:00 2001
|
||
|
From: Lennart Poettering <lennart@poettering.net>
|
||
|
Date: Fri, 19 Oct 2018 12:12:33 +0200
|
||
|
Subject: [PATCH] dhcp6: make sure we have enough space for the DHCP6 option
|
||
|
header
|
||
|
|
||
|
Fixes a vulnerability originally discovered by Felix Wilhelm from
|
||
|
Google.
|
||
|
|
||
|
CVE-2018-15688
|
||
|
LP: #1795921
|
||
|
https://bugzilla.redhat.com/show_bug.cgi?id=1639067
|
||
|
|
||
|
(cherry-picked from commit 4dac5eaba4e419b29c97da38a8b1f82336c2c892)
|
||
|
|
||
|
Resolves: #1643363
|
||
|
---
|
||
|
src/libsystemd-network/dhcp6-option.c | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/src/libsystemd-network/dhcp6-option.c b/src/libsystemd-network/dhcp6-option.c
|
||
|
index 18196b1257..0979497299 100644
|
||
|
--- a/src/libsystemd-network/dhcp6-option.c
|
||
|
+++ b/src/libsystemd-network/dhcp6-option.c
|
||
|
@@ -103,7 +103,7 @@ int dhcp6_option_append_ia(uint8_t **buf, size_t *buflen, DHCP6IA *ia) {
|
||
|
return -EINVAL;
|
||
|
}
|
||
|
|
||
|
- if (*buflen < len)
|
||
|
+ if (*buflen < offsetof(DHCP6Option, data) + len)
|
||
|
return -ENOBUFS;
|
||
|
|
||
|
ia_hdr = *buf;
|