[PATCH 2/3] atmodem: ussd: ensure ussd content fits in buffer

"Sicelo A. Mhlongo" <[email protected]> Mon, 16 Dec 2024 12:19:43 +0200
Newsgroups dev.linux.lists.ofono
Message-ID <[email protected]>
Fixes: CVE-2024-7539
---
 drivers/atmodem/ussd.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/atmodem/ussd.c b/drivers/atmodem/ussd.c
index 32a9fe91..775c74d1 100644
--- a/drivers/atmodem/ussd.c
+++ b/drivers/atmodem/ussd.c
@@ -121,6 +121,11 @@ static void cusd_parse(GAtResult *result, struct ofono_ussd *ussd)
 
 	DBG("response charset %d modem charset %d", charset, data->charset);
 
+	if (strlen(content) > sizeof(msg) * 2)
+		status = 4; /* Not supported */
+		goto out;
+	}
+
 	switch (charset) {
 	case SMS_CHARSET_7BIT:
 		switch (data->charset) {
-- 
2.45.2