CVE-2024-35827 io_uring/net: fix overflow check in io_recvmsg_mshot_prep()

High 7.8 Published Updated

An integer underflow in the Linux kernel's io_uring network handling allows bypassing overflow checks, potentially leading to memory corruption and privilege escalation.

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-35827?

CVE-2024-35827 is a high-severity vulnerability in Linux kernel, published on 17 May 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:

io_uring/net: fix overflow check in io_recvmsg_mshot_prep()

The "controllen" variable is type size_t (unsigned long). Casting it to int could lead to an integer underflow.

The check_add_overflow() function considers the type of the destination which is type int. If we add two positive values and the result cannot fit in an integer then that's counted as an overflow.

However, if we cast "controllen" to an int and it turns negative, then negative values *can* fit into an int type so there is no overflow.

Good: 100 + (unsigned long)-4 = 96 <-- overflow Bad: 100 + (int)-4 = 96 <-- no overflow

I deleted the cast of the sizeof() as well. That's not a bug but the cast is unnecessary.

Weakness: CWE-190

Which versions are affected by CVE-2024-35827?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2024-35827?

Apply the vendor's patch.

Is CVE-2024-35827 being exploited?

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

All Linux kernel vulnerabilities

Sources

Also known as BELL-CVE-2024-35827, DEBIAN-CVE-2024-35827, GHSA-7hqf-f5qc-8535, UBUNTU-CVE-2024-35827.

Is CVE-2024-35827 in your software?

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

Check your SBOMs for free