Overview
This week we take a look into BPFDoor, a newsworthy backdoor piece of
malware which has been targeting Linux machines, plus we cover security
updates for Bind, Vim, Firefox, PostgreSQL and more.
This week in Ubuntu Security Updates
[USN-5429-1] Bind vulnerability [00:38]
1 CVEs addressed in Jammy (22.04 LTS)CVE-2022-1183 Only affects most recent releasesWhen using bind configured with DNS over HTTPS (DoH) possible for aclient to cause the server to terminate a TLS connection early and hence
trigger an assertion failure within Bind -> terminates -> DoS
[USN-5430-1] GNOME Settings vulnerability [01:18]
1 CVEs addressed in Jammy (22.04 LTS)CVE-2022-1736 GNOME includes support for desktop sharing via RDP + VNCBy default in Ubuntu we have a no open ports policy)However, GNOME settings daemon contained a logic flaw where whendisabling the remote desktop service via the gnome-control-center UI it
would then automatically get re-enabled on next login
[USN-5424-2] OpenLDAP vulnerability [01:57]
1 CVEs addressed in Trusty ESM (14.04 ESM), Xenial ESM (16.04 ESM)CVE-2022-29155 Episode 160SQL injection in the sql backend of slapd via an SQL statement within a LDAP query[USN-5433-1] Vim vulnerabilities [02:20]
9 CVEs addressed in Xenial ESM (16.04 ESM)CVE-2022-1154 CVE-2022-0318 CVE-2022-0261 CVE-2021-4192 CVE-2021-4069 CVE-2021-4019 CVE-2021-3984 CVE-2021-3974 CVE-2021-3973 All various instances of memory corruption vulnerabilities, where if auser was tricked into opening a specially crafted file, could then either
crash Vim or possibly get code execution as the user
Whilst a lot of regular desktop users may not use Vim, is still oftenused by sysadmins to edit config files / inspect other files which they
find on the machine - and in that case, this can then be a good privesc
target
[USN-5432-1] libpng vulnerabilities [03:01]
2 CVEs addressed in Xenial ESM (16.04 ESM)CVE-2018-14048 CVE-2017-12652 Speaking of specially crafted files :) - same for libpng - is used bymany other higher level libraries / applications
[USN-5434-1] Firefox vulnerabilities [03:20]
2 CVEs addressed in Bionic (18.04 LTS), Focal (20.04 LTS), Impish (21.10)CVE-2022-1802 CVE-2022-1529 100.0.22 vulns courtesy of ZDIs Pwn2Own - Manfred Paul - achieved code executionwithin the privileged component of Firefox thereby escaping Firefox’s
internal sandbox - awarded $100k USD
[USN-5435-1] Thunderbird vulnerabilities [03:57]
11 CVEs addressed in Bionic (18.04 LTS), Focal (20.04 LTS), Impish (21.10), Jammy (22.04 LTS)CVE-2022-19916 CVE-2022-1802 CVE-2022-1529 CVE-2022-1520 CVE-2022-29917 CVE-2022-29916 CVE-2022-29914 CVE-2022-29913 CVE-2022-29912 CVE-2022-29911 CVE-2022-29909 91.9.1Same as above plus a bunch of other recent vulns in Firefox which alsoapply to TB as well as a TB specific issue where it would show the wrong
security status for a signed/encrypted attached message and hence could
allow an attacker to trick the user into thinking the message was
trustworthy
[USN-5436-1] libXrender vulnerabilities [04:28]
2 CVEs addressed in Xenial ESM (16.04 ESM)CVE-2016-7950 CVE-2016-7949 Remote X server could trigger OOB write -> memory corruption -> codeexecution
[USN-5437-1] libXfixes vulnerability
1 CVEs addressed in Xenial ESM (16.04 ESM)CVE-2016-7944 32-bit platform specific issue - but roughly same as above[USN-5438-1] HTMLDOC vulnerability [04:46]
1 CVEs addressed in Bionic (18.04 LTS), Focal (20.04 LTS)CVE-2021-23165 Used to covert HTML/Markdown files to generate EPUB/HTML/PS/PDF with ToCetc
Crafted HTML file could trigger a heap buffer overflow -> crash/codeexecution
[USN-5439-1] AccountsService vulnerability [05:06]
1 CVEs addressed in Jammy (22.04 LTS)CVE-2022-1804 Old CVE-2020-16126 was inadvertently reintroduced as the patch whichfixed it got dropped accidentally
Episode 95[USN-5440-1] PostgreSQL vulnerability [05:36]
1 CVEs addressed in Bionic (18.04 LTS), Focal (20.04 LTS), Impish (21.10), Jammy (22.04 LTS)CVE-2022-1552 Possible for an attacker who is able to create non-temp objects couldthen achieve SQL code execution as the superuser
[USN-5404-2] Rsyslog vulnerability [05:51]
1 CVEs addressed in Xenial ESM (16.04 ESM)CVE-2022-24903 Episode 159Goings on in Linux Security Community
BPFDoor malware targeting Linux and Solaris [06:08]
https://www.pwc.com/gx/en/issues/cybersecurity/cyber-threat-intelligence/cyber-year-in-retrospect/yir-cyber-threats-report-download.pdf
https://doublepulsar.com/bpfdoor-an-active-chinese-global-surveillance-tool-54b078f1a896
https://www.sandflysecurity.com/blog/bpfdoor-an-evasive-linux-backdoor-technical-analysis/
Malware that has been in the wild for a while (over 5 years)
Reported on by PwC in their Cyber Threats 2021: A year in Retrospect report
Attribute it to a Chinese threat actor which they call Red MenshenObserved targeting telco providers and govt, education and logisticsvia custom backdoor ‘BPFDoor’
Stealthy - allows to backdoor a system for RCE but without opening any
new network ports or firewall rules by piggy-backing on existing network
Uses BPF filter to watching incoming packets and activate accordingly
Earlier versions are on VT - with lots of other variants too
Even source code too - https://pastebin.com/kmmJuuQP
deletes itself from the filesystem and renames its processes to lookinnocent so can hide in plain sight
loads BPF filter to sniff trafficupon activation then will modify firewall to allow attacker directaccess
Copies itself to /dev/shm/kdmtmpflush and then forks to clean itself upto alter timestamps (timestomp) to a specific timestamp (7:17pm
Thursday October 30th 2008)
Drops a file at /bar/run/haldrund.pid to prevent further copies ofitself from running
Deletes itself from the /dev/shm/ ramdisk and then exits to leave theforked copy running resident in memory and then use BPF filter to watch
for incoming traffic to activate
Doesn’t appear to have any particular persistence mechanism but some
reports suggest use of crontab or rc/init scripts
By deleting itself from the ramdisk this avoids detection from filesystem
scanners (although processes running from since deleted binaries are a
suspicious sign themselves and can be easily detected since once the
binary is removed the kernel notes this in /proc/self/exe for the
Renames its argv[0] so that it looks like other commonly found processes
like dbus-daemon / udevd / auditd etc
Also wipes its environ too to try and help hide it’s activities, however
this again is another suspicious activity and can easily be detected
(e.g. strings on /proc/$PID/environ will show as empty which is basically
never normally the case for normal processes)
BPF filter inspects either ICMP, TCP or UDP packets and then if it has a
special magic value in the first couple bytes it passes into the main
packet processing routine
This then looks for a couple specific passwords (encrypted via RC4) -if found then sets up either a local bindshell for the attacker to
connect to OR connects back to the attacker via a reverse bindshell
Then sets up an iptables rule to redirect traffic from the originalport to the port of the bindshell on the localhost
bindshell masquerades its process name to look like postfix as well as
setting a specific environment too (including HISTFILE=/dev/null)
Then attacker has full access to the machine (as the user)
Reasonably advanced malware
What is not clear is what is the initial compromise vector and then how
to privesc from that to give privileges to load BPF filter on a raw socket
Crowdstrike blog post mentions that on Solaris CVE-2019-3010 is used toprivesc via xscreensaver but this vuln is specific to Solaris platforms
Why it is important to keep systems updated with latest patches etc.
Get in contact
#ubuntu-security on the Libera.Chat IRC networkubuntu-hardened mailing listSecurity section on discourse.ubuntu.com@ubuntu_sec on twitter