Security researchers at Qualys have disclosed three vulnerabilities that affect a system service part of SYSTEMD
, the popular but controversial Linux system and service manager. SystemD is available for most Linux based operating systems and could allow unprivileged local attackers or malicious programs to gain root access on the targeted systems.
The vulnerabilities, assigned as CVE-2018-16864, CVE-2018-16865, two memory corruptions (CVE-2018-16864 – a stack buffer overflow, CVE-2018-16865 – and allocation of memory without limits) and CVE-2018-16866 (an out-of-bounds memory read), that lets multiple megabytes of command-line arguments be passed to SYSLOG
, the Linux system logger. This causes systemd-journald to crash and enables a local user to take over a system.
Qualys claims to have already developed an exploit for CVE-2018-16865 and CVE-2018-16866 that obtains a local root shell in 10 minutes on i386 and 70 minutes on x64 systems.
The company won’t be releasing these exploits anytime soon. In the meantime, security Patches for 16864 and 16865 have been made available by Red Hat Linux. On Debian, only the information leak (CVE-2018-16866) vulnerability has been fixed in the unstable systemd 240-1 release. Red Hat Enterprise Linux 7 and Red Hat Virtualization 4 are impacted by all three vulnerabilities but the OOB won’t be fixed in the latter platform. It’s expected other Linux distributions will also quickly integrate and release fixes.
It appears that all systemd-based Linux distributions with the exception of SUSE Linux Enterprise 15, openSUSE Leap 15.0 and Fedora 28 and 29 are vulnerable because their user space is compiled with GCC’s -fstack-clash-protection
. This protects these Linux distributions because it prevents a stack clash from happening, a variation of the commonplace stack overflow bug.
All three bugs can be leveraged with no user interaction. One memory corruption is locally exploitable, while the other can be capitalized over the network.
CVE-2018-16864 has existed in systemd’s codebase since April 2013 (systemd v203) and became exploitable in February 2016 (systemd v230), while CVE-2018-16865 was introduced in December 2011 (systemd v38) and became exploitable in April 2013 (systemd v201).
However, the third vulnerability (CVE-2018-16866) was introduced in systemd’s codebase in June 2015 (systemd v221), but according to the researchers, it was “inadvertently fixed in August 2018.”
- Red Hat has assigned the security impact ‘Important’ for the memory corruption vulnerabilities, with severity ratings of 7.4 and 7.5.
- The out-of-bounds (OOB) glitch leading to information leaks is tagged with a ‘Moderate’ impact and a severity rating of 4.3.