]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
bluez: CVE-2022-3637 A DoS exists in monitor/jlink.c
authorHitendra Prajapati <hprajapati@mvista.com>
Mon, 7 Nov 2022 05:54:36 +0000 (11:24 +0530)
committerSteve Sakoman <steve@sakoman.com>
Wed, 9 Nov 2022 16:35:13 +0000 (06:35 -1000)
Upstream-Status: Backport from https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/monitor/jlink.c?id=1d6cfb8e625a944010956714c1802bc1e1fc6c4f

Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
meta/recipes-connectivity/bluez5/bluez5.inc
meta/recipes-connectivity/bluez5/bluez5/CVE-2022-3637.patch [new file with mode: 0644]

index 7ad054b3a7010157dbca09f3303671ba56253c64..a71d33992883faed794544f933b2856f0f2f5e68 100644 (file)
@@ -58,6 +58,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \
           file://CVE-2021-3658.patch \
            file://CVE-2022-0204.patch \
            file://CVE-2022-39176.patch \
+           file://CVE-2022-3637.patch \
            "
 S = "${WORKDIR}/bluez-${PV}"
 
diff --git a/meta/recipes-connectivity/bluez5/bluez5/CVE-2022-3637.patch b/meta/recipes-connectivity/bluez5/bluez5/CVE-2022-3637.patch
new file mode 100644 (file)
index 0000000..4ca60f9
--- /dev/null
@@ -0,0 +1,39 @@
+From b808b2852a0b48c6f9dbb038f932613cea3126c2 Mon Sep 17 00:00:00 2001
+From: Hitendra Prajapati <hprajapati@mvista.com>
+Date: Thu, 27 Oct 2022 09:51:27 +0530
+Subject: [PATCH] CVE-2022-3637
+
+Upstream-Status: Backport [https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/monitor/jlink.c?id=1d6cfb8e625a944010956714c1802bc1e1fc6c4f]
+CVE: CVE-2022-3637
+Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
+
+monitor: Fix crash when using RTT backend
+
+This fix regression introduced by "monitor: Fix memory leaks".
+J-Link shared library is in use if jlink_init() returns 0 and thus
+handle shall not be closed.
+---
+ monitor/jlink.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/monitor/jlink.c b/monitor/jlink.c
+index afa9d93..5bd4aed 100644
+--- a/monitor/jlink.c
++++ b/monitor/jlink.c
+@@ -120,9 +120,12 @@ int jlink_init(void)
+                       !jlink.tif_select || !jlink.setspeed ||
+                       !jlink.connect || !jlink.getsn ||
+                       !jlink.emu_getproductname ||
+-                      !jlink.rtterminal_control || !jlink.rtterminal_read)
++                      !jlink.rtterminal_control || !jlink.rtterminal_read) {
++              dlclose(so);
+               return -EIO;
++      }
++      /* don't dlclose(so) here cause symbols from it are in use now */
+       return 0;
+ }
+-- 
+2.25.1
+