From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter =?utf-8?q?M=C3=BCller?= To: development@lists.ipfire.org Subject: Re: [PATCH] sysctl.conf: prevent autoloading of TTY line disciplines Date: Fri, 02 Apr 2021 21:30:53 +0200 Message-ID: <92f0b0b7-530f-214f-d14f-9d8c9cbb60d7@ipfire.org> In-Reply-To: <2c3adcb9-d6e1-ba67-41fa-ae1c4bce3527@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============8917569509538000595==" List-Id: --===============8917569509538000595== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello Michael, it seems as the kernel folks backported this into 4.14.x by now: > [root(a)maverick ~]# uname -a > Linux maverick 4.14.212-ipfire #1 SMP Wed Dec 16 12:01:25 GMT 2020 x86_64 I= ntel(R) Celeron(R) CPU N3150 @ 1.60GHz GenuineIntel GNU/Linux > [root(a)maverick ~]# sysctl dev.tty.ldisc_autoload > dev.tty.ldisc_autoload =3D 1 Therefore, I would like to see this patch being merged - that is, if it is st= ill applicable. :-) Thanks, and best regards, Peter M=C3=BCller > Hello Michael, >=20 > grmpf, overlooked some patched distribution kernel again. :-/ >=20 > Sorry for the noise - I will keep the patch queued and wait for kernel 5.9 = ... >=20 > Thanks, and best regards, > Peter M=C3=BCller >=20 >=20 >> This does not exist before kernel 5.1. >> >> -Michael >> >>> On 5 Oct 2020, at 20:45, Peter M=C3=BCller w= rote: >>> >>> Malicious/vulnerable TTY line disciplines have been subject of some >>> kernel exploits such as CVE-2017-2636, and since - to put it in Greg >>> Kroah-Hatrman's words - we do not "trust the userspace to do the right >>> thing", this reduces local kernel attack surface. >>> >>> Further, there is no legitimate reason why an unprivileged user should >>> load kernel modules during runtime, anyway. >>> >>> See also: >>> - https://lkml.org/lkml/2019/4/15/890 >>> - https://a13xp0p0v.github.io/2017/03/24/CVE-2017-2636.html >>> >>> Cc: Arne Fitzenreiter >>> Cc: Michael Tremer >>> Signed-off-by: Peter M=C3=BCller >>> --- >>> config/etc/sysctl.conf | 4 ++++ >>> 1 file changed, 4 insertions(+) >>> >>> diff --git a/config/etc/sysctl.conf b/config/etc/sysctl.conf >>> index d48c7734e..b5ede15ed 100644 >>> --- a/config/etc/sysctl.conf >>> +++ b/config/etc/sysctl.conf >>> @@ -39,6 +39,10 @@ net.bridge.bridge-nf-call-ip6tables =3D 0 >>> net.bridge.bridge-nf-call-iptables =3D 0 >>> net.bridge.bridge-nf-call-arptables =3D 0 >>> >>> +# Restrict loading TTY line disciplines to CAP_SYS_MODULE to prevent unp= rivileged attackers >>> +# from loading vulnerable line disciplines with the TIOCSETD ioctl. >>> +dev.tty.ldisc_autoload =3D 0 >>> + >>> # Try to keep kernel address exposures out of various /proc files (kallsy= ms, modules, etc). >>> kernel.kptr_restrict =3D 2 >>> >>> --=20 >>> 2.26.2 >> --===============8917569509538000595==--