From 8247097d2313ceb73bab1621d61b8aa3fb59095e Mon Sep 17 00:00:00 2001 From: wangmy Date: Tue, 8 Feb 2022 16:28:42 +0800 Subject: [PATCH] screen: upgrade 4.8.0 -> 4.9.0 CVE-2021-26937.patch removed since it is included in 4.9.0 Changelog: ========= * Hardstatus option for used encoding (escape string '%e') * OpenBSD uses native openpty() from its utils.h * Fixes: - fix combining char handling that could lead to a segfault - CVE-2021-26937: possible denial of service via a crafted UTF-8 character sequence (bug #60030) - make screen exit code be 0 when checking --help - session names limit is 80 symbols (bug #61534) - option -X ignores specified user in multiuser env (bug #37437) - a lot of reformations/fixes/cleanups (man page and source code) Signed-off-by: Wang Mingyu Signed-off-by: Richard Purdie --- .../screen/screen/CVE-2021-26937.patch | 68 ------------------- .../{screen_4.8.0.bb => screen_4.9.0.bb} | 4 +- 2 files changed, 1 insertion(+), 71 deletions(-) delete mode 100644 meta/recipes-extended/screen/screen/CVE-2021-26937.patch rename meta/recipes-extended/screen/{screen_4.8.0.bb => screen_4.9.0.bb} (91%) diff --git a/meta/recipes-extended/screen/screen/CVE-2021-26937.patch b/meta/recipes-extended/screen/screen/CVE-2021-26937.patch deleted file mode 100644 index 983b35c1b0..0000000000 --- a/meta/recipes-extended/screen/screen/CVE-2021-26937.patch +++ /dev/null @@ -1,68 +0,0 @@ -Description: [CVE-2021-26937] Fix out of bounds array access -Author: Michael Schröder -Bug-Debian: https://bugs.debian.org/982435 -Bug: https://savannah.gnu.org/bugs/?60030 -Bug: https://lists.gnu.org/archive/html/screen-devel/2021-02/msg00000.html -Bug-OSS-Security: https://www.openwall.com/lists/oss-security/2021/02/09/3 -Origin: https://lists.gnu.org/archive/html/screen-devel/2021-02/msg00010.html - -CVE: CVE-2021-26937 -Upstream-Status: Pending -Signed-off-by: Scott Murray - ---- a/encoding.c -+++ b/encoding.c -@@ -43,7 +43,7 @@ - # ifdef UTF8 - static int recode_char __P((int, int, int)); - static int recode_char_to_encoding __P((int, int)); --static void comb_tofront __P((int, int)); -+static void comb_tofront __P((int)); - # ifdef DW_CHARS - static int recode_char_dw __P((int, int *, int, int)); - static int recode_char_dw_to_encoding __P((int, int *, int)); -@@ -1263,6 +1263,8 @@ - {0x30000, 0x3FFFD}, - }; - -+ if (c >= 0xdf00 && c <= 0xdfff) -+ return 1; /* dw combining sequence */ - return ((bisearch(c, wide, sizeof(wide) / sizeof(struct interval) - 1)) || - (cjkwidth && - bisearch(c, ambiguous, -@@ -1330,11 +1332,12 @@ - } - - static void --comb_tofront(root, i) --int root, i; -+comb_tofront(i) -+int i; - { - for (;;) - { -+ int root = i >= 0x700 ? 0x801 : 0x800; - debug1("bring to front: %x\n", i); - combchars[combchars[i]->prev]->next = combchars[i]->next; - combchars[combchars[i]->next]->prev = combchars[i]->prev; -@@ -1396,9 +1399,9 @@ - { - /* full, recycle old entry */ - if (c1 >= 0xd800 && c1 < 0xe000) -- comb_tofront(root, c1 - 0xd800); -+ comb_tofront(c1 - 0xd800); - i = combchars[root]->prev; -- if (c1 == i + 0xd800) -+ if (i == 0x800 || i == 0x801 || c1 == i + 0xd800) - { - /* completely full, can't recycle */ - debug("utf8_handle_comp: completely full!\n"); -@@ -1422,7 +1425,7 @@ - mc->font = (i >> 8) + 0xd8; - mc->fontx = 0; - debug3("combinig char %x %x -> %x\n", c1, c, i + 0xd800); -- comb_tofront(root, i); -+ comb_tofront(i); - } - - #else /* !UTF8 */ diff --git a/meta/recipes-extended/screen/screen_4.8.0.bb b/meta/recipes-extended/screen/screen_4.9.0.bb similarity index 91% rename from meta/recipes-extended/screen/screen_4.8.0.bb rename to meta/recipes-extended/screen/screen_4.9.0.bb index 6d307d5abc..1ed0961630 100644 --- a/meta/recipes-extended/screen/screen_4.8.0.bb +++ b/meta/recipes-extended/screen/screen_4.9.0.bb @@ -21,11 +21,9 @@ SRC_URI = "${GNU_MIRROR}/screen/screen-${PV}.tar.gz \ file://0002-comm.h-now-depends-on-term.h.patch \ file://0001-fix-for-multijob-build.patch \ file://0001-Remove-more-compatibility-stuff.patch \ - file://CVE-2021-26937.patch \ " -SRC_URI[md5sum] = "d276213d3acd10339cd37848b8c4ab1e" -SRC_URI[sha256sum] = "6e11b13d8489925fde25dfb0935bf6ed71f9eb47eff233a181e078fde5655aa1" +SRC_URI[sha256sum] = "f9335281bb4d1538ed078df78a20c2f39d3af9a4e91c57d084271e0289c730f4" inherit autotools texinfo -- 2.40.1