CVE-2024-36890: mm/slab: make __free(kfree) accept error pointers
In the Linux kernel, the following vulnerability has been resolved:
mm/slab: make __free(kfree) accept error pointers
Currently, if an automatically freed allocation is an error pointer that
will lead to a crash. An example of this is in wm831x_gpio_dbg_show().
171 char *label __free(kfree) = gpiochip_dup_line_label(chip, i);
172 if (IS_ERR(label)) {
173 dev_err(wm831x->dev, "Failed to duplicate label\n");
174 continue;
175 }
The auto clean up function should check for error pointers as well,
otherwise we're going to keep hitting issues like this.
Security readout for executives and security teams
Plain-English summary
A Linux kernel cleanup helper could mistakenly pass an encoded error value to the memory-freeing function, causing a kernel crash. Exploitation requires local access with low privileges according to the supplied CVSS assessment. Systems running affected kernels may face significant availability risk, but the supplied evidence does not establish real-world exploitation.
Executive priority
Treat this as a high-priority kernel maintenance issue, especially on systems permitting local untrusted access. Schedule validated vendor updates promptly, but avoid emergency claims based solely on CVSS: the supplied evidence confirms a crash condition and potential local attack characteristics, not active exploitation.
Technical view
The __free(kfree) automatic cleanup path did not recognize Linux error pointers. When an allocation-like operation returned ERR_PTR, scope cleanup could treat that value as ordinary allocated memory and call kfree on it, causing a crash. The kernel stable changes make this cleanup path accept error pointers safely.
Likely exposure
Potential exposure is limited to Linux kernels containing the vulnerable cleanup behavior and reachable code paths that retain an error pointer for automatic cleanup. The supplied affected-version data includes 6.5, 6.1.91, 6.6.31, 6.8.10, and 6.9, but its mixed release and commit identifiers require vendor confirmation.
Exploitation context
The supplied CVSS vector describes a local, low-complexity attack requiring low privileges and no user interaction. CVSS assigns high confidentiality, integrity, and availability impacts, while the technical description specifically demonstrates a crash. The CVE is not listed as KEV, and the bundle provides no evidence of active exploitation or a public exploit.
Researcher notes
The source bundle supplies no CWE and does not identify every triggering call site. Its version presentation mixes release numbers, commit hashes, and an unexplained "0," so precise vulnerable ranges should not be inferred from this bundle alone. Assess backports by checking distributor records or whether an applicable stable correction is present.
Mitigation direction
Obtain a distribution-supported kernel containing the applicable upstream stable correction.
Confirm the fixed package or backport with the Linux distributor before deployment.
Prioritize multi-user, shared, and other systems where untrusted users have local access.
Use normal change control and reboot requirements when activating the updated kernel.
Validation and detection
Inventory running kernel versions and distribution package revisions across Linux systems.
Compare each build against distributor advisories and the supplied upstream stable commits.
Confirm the running kernel, not merely an installed package, contains the vendor backport.
Review kernel crash records for failures associated with automatic cleanup of error pointers.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2024-36890 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.