Overview
This week the Linux kernel project announced they will be assigning their own
CVEs so we discuss the possible implications and fallout from such a shift, plus
we cover vulnerabilities in the kernel, Glance_store, WebKitGTK, Bind and more.
This week in Ubuntu Security Updates
[LSN-0100-1] Linux kernel vulnerability (00:56)
5 CVEs addressed in Jammy (22.04 LTS), Focal (20.04 LTS), Bionic ESM (18.04 ESM), Xenial ESM (16.04 ESM), Trusty ESM (14.04 ESM)CVE-2023-6932 CVE-2023-6817 CVE-2023-6176 CVE-2023-6040 CVE-2023-5345 UAF in IGMP protocol ([USN-6601-1] Linux kernel vulnerability from Episode 217)UAF in netfilter ([USN-6606-1] Linux kernel (OEM) vulnerabilities from Episode 217)UAF in SMB client implementation - local crash / privesc ([USN-6607-1] Linux kernel (Azure) vulnerabilities from Episode 217)NULL ptr deref in kernel TLS offload implementation - allows a userspaceapplication to request that the kernel do TLS by providing it the key etc -
internally the kernel then takes the data to be sent from userspace and frames
it into a scatter list (describes the regions in memory containing the data to
be sent) - uses the kernel crypto API which is asynchronous
userspace can construct an invalid initial sequence number to trigger thekernel to enter a code path where the network packet is freed before it has
finished being processed by the crypto API -> UAF
Kernel type
22.04
20.04
18.04
16.04
14.04
aws
100.1
100.1
100.1
100.1
—
aws-5.15
—
100.1
—
—
—
aws-5.4
—
—
100.1
—
—
aws-6.2
100.1
—
—
—
—
aws-hwe
—
—
—
100.1
—
azure
100.1
100.1
—
100.1
—
azure-4.15
—
—
100.1
—
—
azure-5.4
—
—
100.1
—
—
azure-6.2
100.1
—
—
—
—
gcp
100.1
100.1
—
100.1
—
gcp-4.15
—
—
100.1
—
—
gcp-5.15
—
100.1
—
—
—
gcp-5.4
—
—
100.1
—
—
gcp-6.2
100.1
—
—
—
—
generic-4.15
—
—
100.1
100.1
—
generic-4.4
—
—
—
100.1
100.1
generic-5.15
—
100.1
—
—
—
generic-5.4
—
100.1
100.1
—
—
gke
100.1
100.1
—
—
—
gke-5.15
—
100.1
—
—
—
gkeop
—
100.1
—
—
—
hwe-6.2
100.1
—
—
—
—
ibm
100.1
100.1
—
—
—
ibm-5.15
—
100.1
—
—
—
linux
100.1
—
—
—
—
lowlatency-4.15
—
—
100.1
100.1
—
lowlatency-4.4
—
—
—
100.1
100.1
lowlatency-5.15
—
100.1
—
—
—
lowlatency-5.4
—
100.1
100.1
—
—
To check your kernel type and Livepatch version, enter this command:
canonical-livepatch status
[USN-6624-1] Linux kernel vulnerabilities
9 CVEs addressed in Jammy (22.04 LTS), Mantic (23.10)CVE-2024-0641 CVE-2023-6622 CVE-2023-6531 CVE-2023-6176 CVE-2023-5972 CVE-2023-46862 CVE-2023-46813 CVE-2023-35827 CVE-2023-34324 [USN-6625-1] Linux kernel vulnerabilities
4 CVEs addressed in Bionic ESM (18.04 ESM), Focal (20.04 LTS)CVE-2023-46343 CVE-2023-45863 CVE-2023-35827 CVE-2023-34324 [USN-6626-1] Linux kernel vulnerabilities
10 CVEs addressed in Focal (20.04 LTS), Jammy (22.04 LTS)CVE-2024-0641 CVE-2023-6622 CVE-2023-6176 CVE-2023-6039 CVE-2023-46813 CVE-2023-35827 CVE-2023-34324 CVE-2023-32257 CVE-2023-32252 CVE-2023-32250 [USN-6625-2] Linux kernel (GCP) vulnerabilities
4 CVEs addressed in Bionic ESM (18.04 ESM), Focal (20.04 LTS)CVE-2023-46343 CVE-2023-45863 CVE-2023-35827 CVE-2023-34324 [USN-6628-1] Linux kernel (Intel IoTG) vulnerabilities
16 CVEs addressed in Jammy (22.04 LTS)CVE-2024-0641 CVE-2024-0193 CVE-2023-6932 CVE-2023-6931 CVE-2023-6817 CVE-2023-6622 CVE-2023-6606 CVE-2023-6176 CVE-2023-6040 CVE-2023-6039 CVE-2023-46813 CVE-2023-35827 CVE-2023-34324 CVE-2023-32257 CVE-2023-32252 CVE-2023-32250 [USN-6626-2] Linux kernel vulnerabilities
10 CVEs addressed in Jammy (22.04 LTS)CVE-2024-0641 CVE-2023-6622 CVE-2023-6176 CVE-2023-6039 CVE-2023-46813 CVE-2023-35827 CVE-2023-34324 CVE-2023-32257 CVE-2023-32252 CVE-2023-32250 [USN-6608-2] Linux kernel (NVIDIA) vulnerabilities
5 CVEs addressed in Jammy (22.04 LTS)CVE-2024-0193 CVE-2023-6932 CVE-2023-6931 CVE-2023-6817 CVE-2023-6606 [USN-6635-1] Linux kernel (GCP) vulnerabilities
13 CVEs addressed in Jammy (22.04 LTS)CVE-2024-0193 CVE-2023-6932 CVE-2023-6931 CVE-2023-6817 CVE-2023-6606 CVE-2023-5717 CVE-2023-5178 CVE-2023-5158 CVE-2023-42754 CVE-2023-39193 CVE-2023-39192 CVE-2023-39189 CVE-2023-37453 [USN-6627-1] libde265 vulnerabilities (04:10)
18 CVEs addressed in Xenial ESM (16.04 ESM), Bionic ESM (18.04 ESM), Focal (20.04 LTS), Jammy (22.04 LTS)CVE-2022-1253 CVE-2022-43253 CVE-2022-43252 CVE-2022-43248 CVE-2022-43243 CVE-2022-43240 CVE-2022-43239 CVE-2022-43237 CVE-2022-43236 CVE-2022-43235 CVE-2021-36410 CVE-2021-36409 CVE-2021-36408 CVE-2022-43242 CVE-2022-43241 CVE-2022-43238 CVE-2021-36411 CVE-2021-35452 Open H.265 video codec implementation - used by gstreamer and hence Videos(totem) in particular
Lots of the usual sorts of issues - a lot appear to have been found by acouple different researchers fuzzing - assertion failure, NULL ptr derefs, OOB
reads, UAF, OOB writes etc - impact then ranging from DoS to possible code
execution
[USN-6630-1] Glance_store vulnerability (05:26)
1 CVEs addressed in Focal (20.04 LTS), Jammy (22.04 LTS), Mantic (23.10)CVE-2024-1141 OpenStack Image Service store library - library for interacting with assets(images) via different storage technologies (local file-system, HTTP, RBD,
Swift, S3 and others)
S3 backend would log the access_key if logging configured at DEBUG level - anyuser then able to read the logs could see the access key and hence potentially
get access to the S3 bucket (would also need the secret key too and this was
never logged so impact minimal)
[USN-6631-1] WebKitGTK vulnerabilities (06:26)
3 CVEs addressed in Jammy (22.04 LTS), Mantic (23.10)CVE-2024-23222 CVE-2024-23213 CVE-2024-23206 Minimal info as with all webkit issues“improved memory handling to fix possible arbitrary code execution when processing crafted web content”“improved access restrictions to fix user fingerprinting from a crafted web page”“improved checks to fix a type confusion issue able to be triggered fromcrafted web content - possibly exploited in the wild”
[USN-6632-1] OpenSSL vulnerabilities (07:13)
2 CVEs addressed in Xenial ESM (16.04 ESM), Bionic ESM (18.04 ESM)CVE-2024-0727 CVE-2023-5678 [USN-6622-1] OpenSSL vulnerabilities from Episode 218[USN-6633-1] Bind vulnerabilities (07:33)
5 CVEs addressed in Jammy (22.04 LTS), Mantic (23.10)CVE-2023-5679 CVE-2023-5517 CVE-2023-50868 CVE-2023-50387 CVE-2023-4408 Range of issues including 2 different CPU-based DoS - one in handling ofregular DNS queries / responses, the other in DNSSEC - “KeyTrap” - also
affects resolvers not just servers (so any client system as well that is doing
lookups) - affects the DNSSEC standard itself and hence affects various other
implementations as well
Attack works by having an attacker create a DNS zone with many RRSIG andDNSKEY records - these contain a cryptographic signature and public key
respectively - so when trying to validate the DNSSEC record need both - and so
will end up trying every possible RRSIG with every possible DNSKEY to find a
match - with no bound on the computation time (and if implemented in a single
threaded manner) - can completely DoS the server / client etc.
Plus a similar issue in the NSEC3 proof of non-existence in DNSSEC[USN-6634-1] .NET vulnerabilities (09:47)
2 CVEs addressed in Jammy (22.04 LTS), Mantic (23.10)CVE-2024-21404 CVE-2024-21386 Updates for dotnet 6, 7 and 8DoS when parsing X509 certificates if using OpenSSL (as is the case in Ubuntu)and a DoS in the SignalR library (allows a server to send asynchronous
notifications to client-side web applications) able to be triggered by a
malicious client
[USN-6629-1, USN-6629-2] UltraJSON vulnerabilities (10:34)
3 CVEs addressed in Xenial ESM (16.04 ESM), Bionic ESM (18.04 ESM), Focal (20.04 LTS), Jammy (22.04 LTS)CVE-2022-31117 CVE-2022-31116 CVE-2021-45958 Fast JSON encoder/decoder for PythonIs actually implemented in C with Python bindings - so has usual issues - UAF,memory corruption, stack buffer overflow
Goings on in Ubuntu Security Community
Linux kernel becomes a CNA (11:25)
Earlier this week, Greg Kroah-Hartman (one of the more famous Linux kernel
developers - responsible for the various stable kernel trees / releases plus
various subsystems within the kernel - also wrote one of the most popular
books on Linux Kernel Driver development - even if it is woefully outdated
nowadays) announced that the Linux kernel project itself has been accepted as
a CNA by MITRE and would start issues CVEs for the vulnerabilities found
Historically the upstream kernel developers and Greg himself have been quite
disparaging of the CVE process / ecosystem and essentially saying that CVEs
for the kernel are meaningless since that all bugs are potentially security
issues and there are so many fixes that go into the kernel of which the
security impact is not clear, that the only way to stay secure is to track one
of the supported upstream stable kernel trees - otherwise CVEs would be issued
for basically every commit that goes into one of the stable trees
Whilst in Ubuntu we tend to agree that the only way to maintain a kernel isto use the stable trees (and hence the Ubuntu Kernel team continuously
incorporates all the fixes from the upstream stable kernel trees into the
different Ubuntu kernels) we still see a lot of value in the CVE ecosystem -
and also we do not agree that all fix commits warrant a CVE
It was not then surprising to see that in the initial announcement there was a
Note, due to the layer at which the Linux kernel is in a system, almost any
bug might be exploitable to compromise the security of the kernel, but the
possibility of exploitation is often not evident when the bug is
fixed. Because of this, the CVE assignment team is overly cautious and assign
CVE numbers to any bugfix that they identify.
This led many (including us) to fear that the kernel CNA would be issuing an
extremely high volume of CVEs which would effectively overwhelm the CVE
process and make it unworkable - for instance, LWN calculated that for the 6.1
stable kernel has had over 12,000 fixes applied to it over the past year. So
this leaves a huge scope for many CVEs to be possibly assigned - and as a
comparison in total across all software / hardware devices etc in 2023 there
was 29,000 CVEs assigned. So that could mean the kernel itself would possibly
become responsible for at least a quarter of all CVEs in the future.
Greg has some prior form in this space as well since in 2019 he gave a talk
where he suggested one way the kernel community could help fix the issue of
CVEs being erroneously assigned against the kernel would be to start doing
exactly this and assigning a CVE for every fix applied to the kernel and hence
overwhelm the CVE ecosystem to (in his words) “burn it down”.
Also the GSD project (Global Security Database - set up as an alternate /
competitor to CVE) was doing exactly this - tracking a huge number of fixes
for the stable trees and assigning them GSD IDs - as per
https://osv.dev/list?ecosystem=Linux it tracks 13573 issues
Thankfully though, this plan seems to have moderated over the past few days -
after Greg posted a patch set to the LKML documenting the process, he
clarified in a follow-up email that this would not be the case, and instead
that CVEs will only be assigned for commits which appear to have a security
relevant impact. How they actually do that remains to be seen, and his comment
that “we (will) know it when we see it” doesn’t exactly put me at ease (since
it is very easy to miss the security implications of any particular commit) at
least this helps allay the fears that there would be a tidal wave of CVEs
One outstanding issue which I directly asked Greg about is how they are
actually tracking fixes for CVEs - since in their model, a CVE is equivalent
to the commit which fixes the issue - however for lots of existing kernel CVEs
that get assigned by other CNAs like Canonical or Red Hat etc, the fix
comprises multiple commits
Greg says the whole process is quite complex and whilst their existing scripts
want a one-to-one mapping from CVEs to commits they do plan to fix this in the
So will be interesting to see what things they will end up assigning
CVEs. Also will be interesting to see how the interaction with security
researchers plays out. Since their process is heavily skewed to the CVE
corresponding to the fix commit AND they state that this must be in one of the
stable trees for a CVE to be assigned, it doesn’t leave a lot of room for
responsible disclosure. They do say they can assign a CVE for an issue before
it is resolved with a commit to one of the stable trees, but ideally these
details would get disclosed to distros and others ahead of the CVE details
being released to the public. I also asked Greg about this but am awaiting a
Get in contact
#ubuntu-security on the Libera.Chat IRC networkubuntu-hardened mailing listSecurity section on discourse.ubuntu.com@[email protected], @ubuntu_sec on twitter