Overview
Security updates for DBus, vim, elfutils, GLib and more, plus Joe and Alex look at another npm package hijack as well as some wider discussions around the big vim RCE of this week.
This week in Ubuntu Security Updates
[USN-4012-1] elfutils vulnerabilities
9 CVEs addressed in Xenial, Bionic, CosmicCVE-2019-7665CVE-2019-7150CVE-2019-7149CVE-2018-18521CVE-2018-18520CVE-2018-18310CVE-2018-16403CVE-2018-16402CVE-2018-16062Mix of issues found via fuzzing with ASAN - all resulting in crash -> DoSfrom crafted input files
multiple heap-based buffer over-reads in various libraries (libelf,libdw) on crafted ELF input
divide-by-zero on crafted ELF input in arlib (used by ar, ranlib andother tools to process .a archive files)
multiple invalid pointer dereferencesdouble-free in libelf on crafted ELF input[USN-4013-1] libsndfile vulnerabilities
13 CVEs addressed in Xenial, Bionic, CosmicCVE-2019-3832CVE-2018-19758CVE-2018-19662CVE-2018-19661CVE-2018-19432CVE-2018-13139CVE-2017-6892CVE-2017-17457CVE-2017-17456CVE-2017-16942CVE-2017-14634CVE-2017-14246CVE-2017-14245Range of issues from crashes (DoS) to possible RCE again found via fuzzing with ASANMultiple heap-based buffer over-reads on crafted audio files (WAV, ALAW, AIFF) filesNULL pointer dereferenceStack-based buffer overflow - crash -> DoS or possible RCE on craftedDivide by zeros[USN-4014-1, USN-4014-2] GLib vulnerability
1 CVEs addressed in Precise ESM, Trusty ESM, Xenial, Bionic, Cosmic, DiscoCVE-2019-12450GLib contains GIO which is library to abstract file-IO operationsDuring file copying, would create the new file with default permissionsand then once copy was done would then set the correct permissions (based
on the original files permissions)
Could allow other users to read the file during the copy processInstead fix to create new file with restrictive permissions (onlyaccessible by the current user) to avoid this
[USN-4015-1, USN-4015-2] DBus vulnerability
1 CVEs addressed in Precise ESM, Trusty ESM, Xenial, Bionic, Cosmic, DiscoCVE-2019-12749DBus includes multiple authentication mechanisms - usually would just usecredentials passed via UNIX sockets (is secure as is enforced by the
kernel), but this is not supported on all platforms (Windows etc)
So includes another authentication mechanism - DBUS_COOKIE_SHA1In this case, the authenticating user has to prove they are who theysay by being able to read and provide a magic value from a keyring file
which dbus drops in the user’s home directory
By abusing symlinks, it would be possible to point the local userskeyring at some other file and cause DBus to read / write to some other
file which was not intended
This could further be abused to point your local dbus keyring to root’sand cause DBus to eventually confuse the local user’s authentication to
the bus as that of the root user and so allow an unprivileged user to
authenticate as root and so then perform operations as root via DBus
Fixed by simply only allowing DBUS_COOKIE_SHA1 to authenticate as thesame user as the DBus server owner - ie. if running DBus as root you can
only authenticate as root, not as your local user (since this use-case is
not actually used in practice)
[USN-4016-1] Vim vulnerabilities
2 CVEs addressed in Xenial, Bionic, Cosmic, DiscoCVE-2019-12735CVE-2017-5953Most over-hyped bug of the weekhttps://threatpost.com/linux-command-line-editors-high-severity-bug/145569/https://www.reddit.com/r/netsec/comments/bwrjrx/vimneovim_arbitrary_code_execution_via_modelines/Will discuss with Joe later in the episode, but briefly:Vim includes support for ‘modelines’This allows files to include custom settings such as indentation, filetype etc so that editing is consistent
Only a subset of vim commands can be permitted - ie. set - and then noteverything can be set by modelines - and is meant to be side-effect
free
However, the source! command is still allowed - this reads extracommands from a file as though typed by the user and is done so outside
the sandbox
So is possible to bypass the sandbox and execute arbitrary commands viathe modeline (since vim supports running external commands from the
editor itself)
PoC included running a reverse shell by just opening a crafted fileHowever, modelines are disabled by default in Debian (and hence Ubuntu)so unless a user had specifically enabled it in their own vimrc they are
safe
Patched to disable sourcing a file from the modeline or from within thesandbox at all
One extra low priority issue when vim could be made to crash via acrafted spell file (this is used to store locally spelling additions etc)
[USN-4016-2] Neovim vulnerability
1 CVEs addressed in Cosmic, DiscoCVE-2019-12735See above from vim :)[USN-3991-3] Firefox regression
17 CVEs addressed in Xenial, Bionic, Cosmic, DiscoCVE-2019-9816CVE-2019-11698CVE-2019-11697CVE-2019-9821CVE-2019-9820CVE-2019-9819CVE-2019-9817CVE-2019-9814CVE-2019-9800CVE-2019-7317CVE-2019-11701CVE-2019-11699CVE-2019-11696CVE-2019-11695CVE-2019-11693CVE-2019-11692CVE-2019-11691Episode 33 - Firefox update to version 67.0 - contained a regression soupdated to 67.0.1 (Episode 35) - this also contained another regression
where Firefox would fail to load correctly if run in safe-mode. So
upstream released 67.0.2 which is this new update.
Goings on in Ubuntu Security Community
Alex and Joe talk about another npm package hijack attack and the vim issue
https://blog.npmjs.org/post/185397814280/plot-to-steal-cryptocurrency-foiled-by-the-npmHiring
Robotics Security Engineer
https://boards.greenhouse.io/canonical/jobs/1550997Get in contact
#ubuntu-security on the Libera.Chat IRC network@ubuntu_sec on twitter