mirror of
https://git.yoctoproject.org/poky
synced 2026-02-20 08:19:40 +01:00
nasm: fix CVE-2020-21528
A Segmentation Fault issue discovered in in ieee_segment function in outieee.c
in nasm 2.14.03 and 2.15 allows remote attackers to cause a denial of service
via crafted assembly file.
References:
https://nvd.nist.gov/vuln/detail/CVE-2020-21528
Upstream patches:
93c774d482
(From OE-Core rev: 87c4ec2d73ac2e52005e16e38a9a12affb8d51bd)
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
committed by
Steve Sakoman
parent
4eb5af2d8a
commit
f1de33df8b
47
meta/recipes-devtools/nasm/nasm/CVE-2020-21528.patch
Normal file
47
meta/recipes-devtools/nasm/nasm/CVE-2020-21528.patch
Normal file
@@ -0,0 +1,47 @@
|
||||
From 93c774d482694643cafbc82578ac8b729fb5bc8b Mon Sep 17 00:00:00 2001
|
||||
From: Cyrill Gorcunov <gorcunov@gmail.com>
|
||||
Date: Wed, 4 Nov 2020 13:08:06 +0300
|
||||
Subject: [PATCH] BR3392637: output/outieee: Fix nil dereference
|
||||
|
||||
The handling been broken in commit 98578071.
|
||||
|
||||
Upstream-Status: Backport [https://github.com/netwide-assembler/nasm/commit/93c774d482694643cafbc82578ac8b729fb5bc8b]
|
||||
|
||||
CVE: CVE-2020-21528
|
||||
|
||||
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
||||
Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
|
||||
---
|
||||
output/outieee.c | 17 +++++++++++++++++
|
||||
1 file changed, 17 insertions(+)
|
||||
|
||||
diff --git a/output/outieee.c b/output/outieee.c
|
||||
index bff2f085..b3ccc5f6 100644
|
||||
--- a/output/outieee.c
|
||||
+++ b/output/outieee.c
|
||||
@@ -795,6 +795,23 @@ static int32_t ieee_segment(char *name, int *bits)
|
||||
define_label(name, seg->index + 1, 0L, false);
|
||||
ieee_seg_needs_update = NULL;
|
||||
|
||||
+ /*
|
||||
+ * In commit 98578071b9d71ecaa2344dd9c185237c1765041e
|
||||
+ * we reworked labels significantly which in turn lead
|
||||
+ * to the case where seg->name = NULL here and we get
|
||||
+ * nil dereference in next segments definitions.
|
||||
+ *
|
||||
+ * Lets placate this case with explicit name setting
|
||||
+ * if labels engine didn't set it yet.
|
||||
+ *
|
||||
+ * FIXME: Need to revisit this moment if such fix doesn't
|
||||
+ * break anything but since IEEE 695 format is veeery
|
||||
+ * old I don't expect there are many users left. In worst
|
||||
+ * case this should only lead to a memory leak.
|
||||
+ */
|
||||
+ if (!seg->name)
|
||||
+ seg->name = nasm_strdup(name);
|
||||
+
|
||||
if (seg->use32)
|
||||
*bits = 32;
|
||||
else
|
||||
--
|
||||
2.40.0
|
||||
@@ -10,6 +10,7 @@ SRC_URI = "http://www.nasm.us/pub/nasm/releasebuilds/${PV}/nasm-${PV}.tar.bz2 \
|
||||
file://0002-Add-debug-prefix-map-option.patch \
|
||||
file://CVE-2022-44370.patch \
|
||||
file://CVE-2022-46457.patch \
|
||||
file://CVE-2020-21528.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "3c4b8339e5ab54b1bcb2316101f8985a5da50a3f9e504d43fa6f35668bee2fd0"
|
||||
|
||||
Reference in New Issue
Block a user