This week we deep-dive into one of the best vulnerabilities we’ve seen in a long time regreSSHion - an unauthenticated, remote, root code-execution vulnerability in OpenSSH. Plus we cover updates for Plasma Workspace, Ruby, Netplan, FontForge, OpenVPN and a whole lot more.
39 unique CVEs addressed
user@host:port
combination - so would possibly then use a different hostname than the one the
user expectedungetbyte()/ungetc()
to push-back characters on an IO
stream - would possibly read beyond the end of the buffer - OOB readsystem()
system-call - which spawns a shell -
so if a filename contained any shell metacharacters, could then just easily
get arbitrary code executionmalloc()/free()
syslog()
when trying to which is one of those unsafe functions
syslog()
will potentially call malloc()/free()
which as we
mentioned earlier is not async safe
malloc() / free()
and then SIGALARM
signal is delivered (since
malloc()/free()
calls brk (2) system call under the hood and so a
pending signal SIGALARM
may be delivered on return from brk()
)malloc()
at the same time - corrupting the global state of the heap
etcsyslog()
during the SIGALARM
signal handlersyslog()
within OpenSSH so that syslog()
gets
called early on in the use of OpenSSH and so then when it gets called in the
SIGALARM signal handler it doesn’t do the same memory allocation and hence
can’t be used to corrupt memory and get code execution