-
Notifications
You must be signed in to change notification settings - Fork 12
[LTS 9.2] CVE-2024-38562 #436
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: ciqlts9_2
Are you sure you want to change the base?
Conversation
The "draft" status is only to prevent accidental merge, the PR is ready for review. |
I'm sufficiently pleased that while this is not invalid from bellow I want to make sure that no one else disagrees
Is this statement because they have an RHSA for RHEL 9 ie https://access.redhat.com/errata/RHSA-2024:6997
This is because that Security advisory was made for 9.4 when 9.4 was the active new release. |
Of course, I was actually surprised the "not applicable" PRs weren't reviewed so far. |
A kernel-level crash here is actually possible, but only when the kernel is configured with (Note that a crash isn't possible due to The crash would occur due to the added runtime-bounds check introduced by the It's not a real array access, but the compiler nonetheless treats it as such because the code computes a pointer to the start of the ssids array in terms of an out-of-bounds access into the flexible array. With That being said, since we don't have the commit that introduced the bug, I don't think we should bother picking it or the associated CVE fix. Also worth reading is this LKML thread on how poorly the I feel bad for Johannes 🙁 |
@kerneltoast thanks for the very informative comment, as usual. Didn't know about the |
Agreed, I suspect RH wasn't thinking of |
[LTS 9.2]
CVE-2024-38562
VULN-43268
Problem
https://access.redhat.com/security/cve/CVE-2024-38562
Applicability: no
First of all, this is not a vulnerability and there is no problem. The RedHat's CVE page at https://access.redhat.com/security/cve/CVE-2024-38562 is wrong and so is https://www.cve.org/CVERecord?id=CVE-2024-38562. The fixing mainline commit 838c7b8 is another case of changing the way flexible arrays are used to align with how
CONFIG_UBSAN_BOUNDS
functionality, along with__counted_by
annotations, expects it: the variable defining the size must be increased first, before the new elements of the flexible array are accessed. The previous case like this was CVE-2024-41071 (#103) and it was rejected (see https://www.cve.org/CVERecord?id=CVE-2024-41071). Compare the associated commits, which even preserve the same wording:CVE-2024-41071, 2663d04
CVE-2024-38562, 838c7b8:
Analyzing the change 838c7b8 it can be seen that there are no semantic changes to the code. The equivalence of
request->ssids
andrequest->ie
assignments before & after can be easily seen once the layout ofrequest
is depicted along with all the variables involved:Putting the validity of CVE aside, no one will be disturbed by the UBSAN errors if this CVE is not patched, because the "fixes" commit e3eac9f, consisting of a single
__counted_by
annotation in thecfg80211_scan_request
struct, is missing fromciqlts9_2
history, nor was it backported, seekernel-src-tree/include/net/cfg80211.h
Line 2462 in f85f16c
The patched version is cleaner, simpler and friendlier to the boundary checking machine, it would therefore may be beneficial to switch to it anyway. However, the fixing 838c7b8 commit requires at least 14e05be as the prerequisite to be cherry-picked cleanly, and the resulting code still requires some changes (either another prereq or a manual change) as it doesn't compile because of the size-arithmetic macros definitions not included in the
net/wireless/nl80211.c
file.Considering all of the above it was decided the CVE-2024-38562 is not applicable to LTS 9.2.