net: sntp: Check packet length in sntp_handler

Currently, the sntp_handler uses data in the UDP packet
regardless of the actual packet size. A OOB read can occur
if the packet is too small.
Fix it by checking the packet length before extracting
seconds from a SNTP packet.

Signed-off-by: Francois Berder <fberder@outlook.fr>
Reviewed-by: Jerome Forissier <jerome.forissier@arm.com>
This commit is contained in:
Francois Berder
2026-06-03 17:22:24 +02:00
committed by Jerome Forissier
parent 919af6e49b
commit a38bf2121a
+3
View File
@@ -64,6 +64,9 @@ static void sntp_handler(uchar *pkt, unsigned dest, struct in_addr sip,
if (dest != sntp_our_port)
return;
if (len < SNTP_PACKET_LEN)
return;
/*
* As the RTC's used in U-Boot support second resolution only
* we simply ignore the sub-second field.