ncurses: patch CVE-2025-6141

Pick relevant part of snapshot commit 20250329, see [1].

That has:
add a buffer-limit check in postprocess_termcap (report/testcase by
Yifan Zhang).

[1] https://invisible-island.net/ncurses/NEWS.html#index-t20250329

(From OE-Core rev: 408f1d820616d2bf73cbd319b911885d79d3ca9d)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
Peter Marko
2025-07-25 00:13:24 +02:00
committed by Steve Sakoman
parent c9d46475eb
commit b9ef51c44e
2 changed files with 26 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
From 27d1493340d714e7be6e08c0a8f43e48276149c4 Mon Sep 17 00:00:00 2001
From: "Thomas E. Dickey" <dickey@invisible-island.net>
Date: Sat, 29 Mar 2025 22:52:37 +0000
Subject: [PATCH] snapshot of project "ncurses", label v6_5_20250329
CVE: CVE-2025-6141
Upstream-Status: Backport [https://github.com/ThomasDickey/ncurses-snapshots/commit/27d1493340d714e7be6e08c0a8f43e48276149c4]
Signed-off-by: Peter Marko <peter.marko@siemens.com>
---
ncurses/tinfo/parse_entry.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/ncurses/tinfo/parse_entry.c b/ncurses/tinfo/parse_entry.c
index a2278c07..c551c780 100644
--- a/ncurses/tinfo/parse_entry.c
+++ b/ncurses/tinfo/parse_entry.c
@@ -985,6 +985,8 @@ postprocess_termcap(TERMTYPE2 *tp, bool has_base)
bp = tp->Strings[from_ptr->nte_index];
if (VALID_STRING(bp)) {
for (dp = buf2; *bp; bp++) {
+ if ((size_t) (dp - buf2) >= (sizeof(buf2) - sizeof(TERMTYPE2)))
+ break;
if (bp[0] == '$' && bp[1] == '<') {
while (*bp && *bp != '>') {
++bp;

View File

@@ -4,6 +4,7 @@ SRC_URI += "file://0001-tic-hang.patch \
file://0002-configure-reproducible.patch \
file://0003-gen-pkgconfig.in-Do-not-include-LDFLAGS-in-generated.patch \
file://exit_prototype.patch \
file://CVE-2025-6141.patch \
"
# commit id corresponds to the revision in package version
SRCREV = "1c55d64d9d3e00399a21f04e9cac1e472ab5f70a"