diff options
| author | Ross Burton <ross.burton@arm.com> | 2023-04-19 14:41:42 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-04-22 11:05:14 +0100 |
| commit | 5323e885bc30f945dd5b4b3730906d049aee86f5 (patch) | |
| tree | 4c2bc1caed2ec8d6c78b50fe3cb99332e3ce83d7 | |
| parent | 63bd5762b42aed4ae004f450cdaa06498d43d43d (diff) | |
| download | poky-5323e885bc30f945dd5b4b3730906d049aee86f5.tar.gz | |
screen: backport fix for CVE-2023-24626
(From OE-Core rev: 26242b20d407d5e498083d7e6fa082153be75092)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/recipes-extended/screen/screen/signal-permission.patch | 40 | ||||
| -rw-r--r-- | meta/recipes-extended/screen/screen_4.9.0.bb | 1 |
2 files changed, 41 insertions, 0 deletions
diff --git a/meta/recipes-extended/screen/screen/signal-permission.patch b/meta/recipes-extended/screen/screen/signal-permission.patch new file mode 100644 index 0000000000..77dc649090 --- /dev/null +++ b/meta/recipes-extended/screen/screen/signal-permission.patch | |||
| @@ -0,0 +1,40 @@ | |||
| 1 | From e9ad41bfedb4537a6f0de20f00b27c7739f168f7 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alexander Naumov <alexander_naumov@opensuse.org> | ||
| 3 | Date: Mon, 30 Jan 2023 17:22:25 +0200 | ||
| 4 | Subject: fix: missing signal sending permission check on failed query messages | ||
| 5 | |||
| 6 | Signed-off-by: Alexander Naumov <alexander_naumov@opensuse.org> | ||
| 7 | |||
| 8 | CVE: CVE-2023-24626 | ||
| 9 | Upstream-Status: Backport | ||
| 10 | Signed-off-by: Ross Burton <ross.burton@arm.com> | ||
| 11 | --- | ||
| 12 | src/socket.c | 9 +++++++-- | ||
| 13 | 1 file changed, 7 insertions(+), 2 deletions(-) | ||
| 14 | |||
| 15 | diff --git a/src/socket.c b/src/socket.c | ||
| 16 | index 147dc54..54d8cb8 100644 | ||
| 17 | --- a/socket.c | ||
| 18 | +++ b/socket.c | ||
| 19 | @@ -1285,11 +1285,16 @@ ReceiveMsg() | ||
| 20 | else | ||
| 21 | queryflag = -1; | ||
| 22 | |||
| 23 | - Kill(m.m.command.apid, | ||
| 24 | + if (CheckPid(m.m.command.apid)) { | ||
| 25 | + Msg(0, "Query attempt with bad pid(%d)!", m.m.command.apid); | ||
| 26 | + } | ||
| 27 | + else { | ||
| 28 | + Kill(m.m.command.apid, | ||
| 29 | (queryflag >= 0) | ||
| 30 | ? SIGCONT | ||
| 31 | : SIG_BYE); /* Send SIG_BYE if an error happened */ | ||
| 32 | - queryflag = -1; | ||
| 33 | + queryflag = -1; | ||
| 34 | + } | ||
| 35 | } | ||
| 36 | break; | ||
| 37 | case MSG_COMMAND: | ||
| 38 | -- | ||
| 39 | cgit v1.1 | ||
| 40 | |||
diff --git a/meta/recipes-extended/screen/screen_4.9.0.bb b/meta/recipes-extended/screen/screen_4.9.0.bb index 77e8000bf3..235cd8c6cf 100644 --- a/meta/recipes-extended/screen/screen_4.9.0.bb +++ b/meta/recipes-extended/screen/screen_4.9.0.bb | |||
| @@ -22,6 +22,7 @@ SRC_URI = "${GNU_MIRROR}/screen/screen-${PV}.tar.gz \ | |||
| 22 | file://0001-fix-for-multijob-build.patch \ | 22 | file://0001-fix-for-multijob-build.patch \ |
| 23 | file://0001-Remove-more-compatibility-stuff.patch \ | 23 | file://0001-Remove-more-compatibility-stuff.patch \ |
| 24 | file://0001-configure-Add-needed-system-headers-in-checks.patch \ | 24 | file://0001-configure-Add-needed-system-headers-in-checks.patch \ |
| 25 | file://signal-permission.patch \ | ||
| 25 | " | 26 | " |
| 26 | 27 | ||
| 27 | SRC_URI[sha256sum] = "f9335281bb4d1538ed078df78a20c2f39d3af9a4e91c57d084271e0289c730f4" | 28 | SRC_URI[sha256sum] = "f9335281bb4d1538ed078df78a20c2f39d3af9a4e91c57d084271e0289c730f4" |
