Package: freeradius / 3.0.12+dfsg-5+deb9u1

fr-gv-206.patch Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
From 5759b20af99af6d30924f0efd8da5eac2a17163d Mon Sep 17 00:00:00 2001
From: "Alan T. DeKok" <aland@freeradius.org>
Date: Mon, 3 Jul 2017 11:36:13 -0400
Subject: [PATCH] FR-GV-206 - decode option 60 (string) not 63 (octets), and
 check length

---
 src/modules/proto_dhcp/dhcp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Index: freeradius-3.0.12+dfsg/src/modules/proto_dhcp/dhcp.c
===================================================================
--- freeradius-3.0.12+dfsg.orig/src/modules/proto_dhcp/dhcp.c
+++ freeradius-3.0.12+dfsg/src/modules/proto_dhcp/dhcp.c
@@ -1096,8 +1096,8 @@ int fr_dhcp_decode(RADIUS_PACKET *packet
 			/*
 			 *	Vendor is "MSFT 98"
 			 */
-			vp = fr_pair_find_by_num(head, 63, DHCP_MAGIC_VENDOR, TAG_ANY);
-			if (vp && (strcmp(vp->vp_strvalue, "MSFT 98") == 0)) {
+			vp = fr_pair_find_by_num(head, 60, DHCP_MAGIC_VENDOR, TAG_ANY);
+			if (vp && (vp->vp_length >= 7) && (memcmp(vp->vp_octets, "MSFT 98", 7) == 0)) {
 				vp = fr_pair_find_by_num(head, 262, DHCP_MAGIC_VENDOR, TAG_ANY);
 
 				/*