CVE-2024-26831 net/handshake: Fix handshake_req_destroy_test1

Medium 5.5 Published Updated

A race condition in the Linux kernel handshake subsystem caused a use-after-free or null pointer dereference during test cleanup, potentially leading to system instability.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2024-26831?

CVE-2024-26831 is a medium-severity memory corruption vulnerability in Linux kernel, published on 17 Apr 2024. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

In the Linux kernel, the following vulnerability has been resolved:

net/handshake: Fix handshake_req_destroy_test1

Recently, handshake_req_destroy_test1 started failing:

Expected handshake_req_destroy_test == req, but handshake_req_destroy_test == 0000000000000000 req == 0000000060f99b40 not ok 11 req_destroy works

This is because "sock_release(sock)" was replaced with "fput(filp)" to address a memory leak. Note that sock_release() is synchronous but fput() usually delays the final close and clean-up.

The delay is not consequential in the other cases that were changed but handshake_req_destroy_test1 is testing that handshake_req_cancel() followed by closing the file actually does call the ->hp_destroy method. Thus the PTR_EQ test at the end has to be sure that the final close is complete before it checks the pointer.

We cannot use a completion here because if ->hp_destroy is never called (ie, there is an API bug) then the test will hang.

Reported by: Guenter Roeck <[email protected]>

Weakness: CWE-401

Which versions are affected by CVE-2024-26831?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2024-26831?

Apply the vendor's patch.

Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.

Is CVE-2024-26831 being exploited?

There is no known exploitation of CVE-2024-26831 in the wild and no public exploit code.

All Linux kernel vulnerabilities

Sources

Also known as BELL-CVE-2024-26831, DEBIAN-CVE-2024-26831, GHSA-mmcw-f5qh-65q3, UBUNTU-CVE-2024-26831.

Is CVE-2024-26831 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free