diff --git a/meta-oe/recipes-graphics/jasper/jasper/0001-Fixes-402-403.patch b/meta-oe/recipes-graphics/jasper/jasper/0001-Fixes-402-403.patch new file mode 100644 index 0000000000..f5773d877b --- /dev/null +++ b/meta-oe/recipes-graphics/jasper/jasper/0001-Fixes-402-403.patch @@ -0,0 +1,63 @@ +From 97c4d21cbe1936797bd8530669525287ee75f2c6 Mon Sep 17 00:00:00 2001 +From: Michael Adams +Date: Tue, 5 Aug 2025 20:46:48 -0700 +Subject: [PATCH] Fixes #402, #403. + +JPEG-2000 (JPC) Decoder: +- Added the setting of several pointers to null in some cleanup code + after the pointed-to memory was freed. This pointer nulling is not + needed normally, but it is needed when certain debugging logs are + enabled (so that the debug code understands that the memory associated + with the aforementioned pointers has been freed). + +CVE: CVE-2025-8837 +Upstream-Status: Backport [https://github.com/jasper-software/jasper/commit/8308060d3fbc1da10353ac8a95c8ea60eba9c25a] + +Signed-off-by: Gyorgy Sarvari +--- + src/libjasper/jpc/jpc_dec.c | 13 ++++++++----- + 1 file changed, 8 insertions(+), 5 deletions(-) + +diff --git a/src/libjasper/jpc/jpc_dec.c b/src/libjasper/jpc/jpc_dec.c +index 125a29b..7e44f05 100644 +--- a/src/libjasper/jpc/jpc_dec.c ++++ b/src/libjasper/jpc/jpc_dec.c +@@ -1136,23 +1136,23 @@ static int jpc_dec_tilefini(jpc_dec_t *dec, jpc_dec_tile_t *tile) + + if (tile->cp) { + jpc_dec_cp_destroy(tile->cp); +- //tile->cp = 0; ++ tile->cp = 0; + } + if (tile->tcomps) { + jas_free(tile->tcomps); +- //tile->tcomps = 0; ++ tile->tcomps = 0; + } + if (tile->pi) { + jpc_pi_destroy(tile->pi); +- //tile->pi = 0; ++ tile->pi = 0; + } + if (tile->pkthdrstream) { + jas_stream_close(tile->pkthdrstream); +- //tile->pkthdrstream = 0; ++ tile->pkthdrstream = 0; + } + if (tile->pptstab) { + jpc_ppxstab_destroy(tile->pptstab); +- //tile->pptstab = 0; ++ tile->pptstab = 0; + } + + tile->state = JPC_TILE_DONE; +@@ -2288,6 +2288,9 @@ static int jpc_dec_dump(const jpc_dec_t *dec) + const jpc_dec_tile_t *tile; + for (tileno = 0, tile = dec->tiles; tileno < dec->numtiles; + ++tileno, ++tile) { ++ if (!tile->tcomps) { ++ continue; ++ } + assert(!dec->numcomps || tile->tcomps); + unsigned compno; + const jpc_dec_tcomp_t *tcomp; diff --git a/meta-oe/recipes-graphics/jasper/jasper_4.2.4.bb b/meta-oe/recipes-graphics/jasper/jasper_4.2.4.bb index b3048d0adb..786df17606 100644 --- a/meta-oe/recipes-graphics/jasper/jasper_4.2.4.bb +++ b/meta-oe/recipes-graphics/jasper/jasper_4.2.4.bb @@ -6,6 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a80440d1d8f17d041c71c7271d6e06eb" SRC_URI = "https://github.com/jasper-software/${BPN}/releases/download/version-${PV}/${BP}.tar.gz \ file://0001-Fixes-400.patch \ file://0001-Fixes-401.patch \ + file://0001-Fixes-402-403.patch \ " SRC_URI[sha256sum] = "6a597613d8d84c500b5b83bf0eec06cd3707c23d19957f70354ac2394c9914e7"