A massive 85 CVEs addressed this week, including updates for Exim, the
Linux Kernel, Samba, systemd and more, plus we discuss hacking BMCs via
remote USB devices and password stashes.
Show Notes
Overview
A massive 85 CVEs addressed this week, including updates for Exim, the
Linux Kernel, Samba, systemd and more, plus we discuss hacking BMCs via
remote USB devices and password stashes.
When doing TLS negotiation, parses the Server Name Indication
headers - would try and handle escape sequences in this string.
Does so by looking at the character after a backslash to determine
what escape sequence is (\b etc) and then returns that actual value
(in string_interpret_escape())
This gets called by the function string_unprinting() which is used to
translate escaped characters into their proper form in a new string -
and this will run over the bounds of the original string if it ends
with a backslash - since string_interpret_escape() would assume there
was contents afterwards to interpret
Qualsys were able to develop a PoC which leverages this OOB behaviour
into a remote root exploit (since this part of the code runs as root
and they were able to use a combination of heap corruption and OOB
writes to get code execution)
Fixed to first check if reached end of string (NUL) before trying to
handle the escaped character
Related to CVE-2019-10638 - since used base address of kernel
structure in memory as hash base, could allow attacker to infer this
address and so defeat KASLR
NULL pointer address execution (call function pointer which is NULL
since is not initializated) - Ubuntu defaults to a non-zero
mmap_min_addr value which means can’t map a page at 0 address so this
is just a NULL pointer dereference in default config (otherwise is
arbitrary kernel code execution)
Intel Wifi Driver Tunneled Direct Link Setup (allows devices to
communicate directly with one-another on the same network without
going via AP) - flaw allows a peer to cause wifi disconnection (DoS)
Episode 27 - PolicyKit could get confused via PID reuse - fix was 2
parts - 1 kernel to ensure can’t race kernel on PID assignment, and
second was in PolicyKit itself to check on PID, UID and start time.
Possible directory share escape by unauthenticated users - allows
attackers to gain access to the host filesystem outside the share
root (limited as per underlying file-system permissions)
Needs the server to have explicitly enabled ‘wide links’ and not be
using ‘unix extensions’ OR to have also set ‘allow insecure wide
links’
systemd-resolved failed to properly setup access controls on its DBus
server socket, whic allows unprivileged users to execute DBus methods
that should only be executable by privileged users - such as changing
the systems DNS resolver settings