From ce7c3f84d80435a1bfad77ab8cb0e9ba401f1eea Mon Sep 17 00:00:00 2001
From: Vincent Bernat <vincent@bernat.ch>
Date: Wed, 12 Apr 2023 07:38:31 +0200
Subject: [PATCH] daemon: fix read overflow when parsing CDP addresses

Upstream-status: Backport [https://github.com/lldpd/lldpd/commit/a9aeabdf879c25c584852a0bb5523837632f099b]
CVE: CVE-2023-41910
---
 src/daemon/protocols/cdp.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/daemon/protocols/cdp.c b/src/daemon/protocols/cdp.c
index 4a14ff0..c3a7c22 100644
--- a/src/daemon/protocols/cdp.c
+++ b/src/daemon/protocols/cdp.c
@@ -483,6 +483,7 @@ cdp_decode(struct lldpd *cfg, char *frame, int s,
 					goto malformed;
 				}
 				PEEK_DISCARD(address_len);
+				addresses_len -= address_len;
 				(void)PEEK_SAVE(pos_next_address);
 				/* Next, we go back and try to extract
 				   IPv4 address */
-- 
2.47.1

