diff options
Diffstat (limited to 'meta-networking/recipes-netkit/netkit-telnet/files/CVE-2022-39028.patch')
-rw-r--r-- | meta-networking/recipes-netkit/netkit-telnet/files/CVE-2022-39028.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/meta-networking/recipes-netkit/netkit-telnet/files/CVE-2022-39028.patch b/meta-networking/recipes-netkit/netkit-telnet/files/CVE-2022-39028.patch new file mode 100644 index 0000000000..e8c3f1d84b --- /dev/null +++ b/meta-networking/recipes-netkit/netkit-telnet/files/CVE-2022-39028.patch | |||
@@ -0,0 +1,53 @@ | |||
1 | From 4133a888aa256312186962ab70d4a36eed5920c1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Brooks Davis <brooks@FreeBSD.org> | ||
3 | Date: Mon, 26 Sep 2022 18:56:51 +0100 | ||
4 | Subject: [PATCH] telnetd: fix two-byte input crash | ||
5 | |||
6 | Move initialization of the slc table earlier so it doesn't get | ||
7 | accessed before that happens. | ||
8 | |||
9 | For details on the issue, see: | ||
10 | https://pierrekim.github.io/blog/2022-08-24-2-byte-dos-freebsd-netbsd-telnetd-netkit-telnetd-inetutils-telnetd-kerberos-telnetd.html | ||
11 | |||
12 | Reviewed by: cy | ||
13 | Obtained from: NetBSD via cy | ||
14 | Differential Revision: https://reviews.freebsd.org/D36680 | ||
15 | |||
16 | CVE: CVE-2022-39028 | ||
17 | Upstream-Status: Backport [https://cgit.freebsd.org/src/commit/?id=6914ffef4e23] | ||
18 | |||
19 | (cherry picked from commit 6914ffef4e2318ca1d0ead28eafb6f06055ce0f8) | ||
20 | Signed-off-by: Sanjay Chitroda <sanjay.chitroda@einfochips.com> | ||
21 | |||
22 | --- | ||
23 | telnetd/telnetd.c | 10 +++++----- | ||
24 | 1 file changed, 5 insertions(+), 5 deletions(-) | ||
25 | |||
26 | diff --git a/telnetd/telnetd.c b/telnetd/telnetd.c | ||
27 | index f36f505..efa0fe1 100644 | ||
28 | --- a/telnetd/telnetd.c | ||
29 | +++ b/telnetd/telnetd.c | ||
30 | @@ -615,6 +615,11 @@ doit(struct sockaddr_in *who) | ||
31 | int level; | ||
32 | char user_name[256]; | ||
33 | |||
34 | + /* | ||
35 | + * Initialize the slc mapping table. | ||
36 | + */ | ||
37 | + get_slc_defaults(); | ||
38 | + | ||
39 | /* | ||
40 | * Find an available pty to use. | ||
41 | */ | ||
42 | @@ -698,11 +703,6 @@ void telnet(int f, int p) | ||
43 | char *HE; | ||
44 | const char *IM; | ||
45 | |||
46 | - /* | ||
47 | - * Initialize the slc mapping table. | ||
48 | - */ | ||
49 | - get_slc_defaults(); | ||
50 | - | ||
51 | /* | ||
52 | * Do some tests where it is desireable to wait for a response. | ||
53 | * Rather than doing them slowly, one at a time, do them all | ||