yasm: fix CVE-2023-31975

yasm v1.3.0 was discovered to contain a memory leak via the function
yasm_intnum_copy at /libyasm/intnum.c.

References:
https://nvd.nist.gov/vuln/detail/CVE-2023-31975
https://github.com/yasm/yasm/issues/210

Upstream patches:
b2cc5a1693

Signed-off-by: Archana Polampalli <archana.polampalli@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
This commit is contained in:
Polampalli, Archana 2023-07-20 11:35:41 +00:00 committed by Armin Kuster
parent 40bcb0e09f
commit 03fd1d368a
2 changed files with 30 additions and 0 deletions

View File

@ -0,0 +1,29 @@
From b2cc5a1693b17ac415df76d0795b15994c106441 Mon Sep 17 00:00:00 2001
From: Katsuhiko Gondow <gondow@cs.titech.ac.jp>
Date: Tue, 13 Jun 2023 05:00:47 +0900
Subject: [PATCH] Fix memory leak in bin-objfmt (#231)
Upstream-Status: Backport [https://github.com/yasm/yasm/commit/b2cc5a1693b17ac415df76d0795b15994c106441]
CVE: CVE-2023-31975
---
modules/objfmts/bin/bin-objfmt.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/modules/objfmts/bin/bin-objfmt.c b/modules/objfmts/bin/bin-objfmt.c
index 18026750..a38c3422 100644
--- a/modules/objfmts/bin/bin-objfmt.c
+++ b/modules/objfmts/bin/bin-objfmt.c
@@ -1680,6 +1680,10 @@ static void
bin_section_data_destroy(void *data)
{
bin_section_data *bsd = (bin_section_data *)data;
+ if (bsd->align)
+ yasm_xfree(bsd->align);
+ if (bsd->valign)
+ yasm_xfree(bsd->valign);
if (bsd->start)
yasm_expr_destroy(bsd->start);
if (bsd->vstart)
--
2.40.0

View File

@ -12,6 +12,7 @@ PV = "1.3.0+git${SRCPV}"
SRCREV = "ba463d3c26c0ece2e797b8d6381b161633b5971a"
SRC_URI = "git://github.com/yasm/yasm.git;branch=master;protocol=https \
file://0001-Do-not-use-AC_HEADER_STDC.patch \
file://CVE-2023-31975.patch \
"
S = "${WORKDIR}/git"