ofono: fix CVE-2024-7547

oFono SMS Decoder Stack-based Buffer Overflow Privilege Escalation
Vulnerability. This vulnerability allows local attackers to execute
arbitrary code on affected installations of oFono. An attacker must
first obtain the ability to execute code on the target modem in
order to exploit this vulnerability.

The specific flaw exists within the parsing of SMS PDUs. The issue
results from the lack of proper validation of the length of user-
supplied data prior to copying it to a stack-based buffer. An
attacker can leverage this vulnerability to execute code in the
context of the service account. Was ZDI-CAN-23460.

Reference:
https://security-tracker.debian.org/tracker/CVE-2024-7547

Upstream patch:
https://git.kernel.org/pub/scm/network/ofono/ofono.git/commit/?id=305df050d02aea8532f7625d6642685aa530f9b0

(From OE-Core rev: 8c32d91b64ae296d7832ddeb42983f4f3c237946)

Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
Yogita Urade 2025-01-14 08:03:22 +00:00 committed by Steve Sakoman
parent a551469f70
commit 65d58821e0
2 changed files with 30 additions and 0 deletions

View File

@ -0,0 +1,29 @@
From 305df050d02aea8532f7625d6642685aa530f9b0 Mon Sep 17 00:00:00 2001
From: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Date: Tue, 3 Dec 2024 21:43:51 +0200
Subject: [PATCH] Fix CVE-2024-7547
CVE: CVE-2024-7547
Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/ofono/ofono.git/commit/?id=305df050d02aea8532f7625d6642685aa530f9b0]
Signed-off-by: Yogita Urade <yogita.urade@windriver.com>
---
src/smsutil.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/smsutil.c b/src/smsutil.c
index e073a06..f8ff428 100644
--- a/src/smsutil.c
+++ b/src/smsutil.c
@@ -1475,6 +1475,9 @@ static gboolean decode_command(const unsigned char *pdu, int len,
if ((len - offset) < out->command.cdl)
return FALSE;
+ if (out->command.cdl > sizeof(out->command.cd))
+ return FALSE;
+
memcpy(out->command.cd, pdu + offset, out->command.cdl);
return TRUE;
--
2.40.0

View File

@ -23,6 +23,7 @@ SRC_URI = "\
file://CVE-2024-7544.patch \
file://CVE-2024-7545.patch \
file://CVE-2024-7546.patch \
file://CVE-2024-7547.patch \
"
SRC_URI[sha256sum] = "c0b96d3013447ec2bcb74579bef90e4e59c68dbfa4b9c6fbce5d12401a43aac7"