CVE-2024-36896 USB: core: Fix access violation during port device removal

Critical 9.1 Published Updated

A null pointer dereference in the Linux kernel USB core allows local attackers to cause a system crash during port device removal.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2024-36896?

CVE-2024-36896 is a critical vulnerability in Linux kernel, published on 30 May 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

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

USB: core: Fix access violation during port device removal

Testing with KASAN and syzkaller revealed a bug in port.c:disable_store(): usb_hub_to_struct_hub() can return NULL if the hub that the port belongs to is concurrently removed, but the function does not check for this possibility before dereferencing the returned value.

It turns out that the first dereference is unnecessary, since hub->intfdev is the parent of the port device, so it can be changed easily. Adding a check for hub == NULL prevents further problems.

The same bug exists in the disable_show() routine, and it can be fixed the same way.

Weakness: CWE-476

Which versions are affected by CVE-2024-36896?

It affects 1 product.

Products include Linux kernel.

How do I fix CVE-2024-36896?

Apply the vendor's patch.

Is CVE-2024-36896 being exploited?

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

All Linux kernel vulnerabilities

Sources

Also known as BELL-CVE-2024-36896, DEBIAN-CVE-2024-36896, UBUNTU-CVE-2024-36896.

Is CVE-2024-36896 in your software?

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

Check your SBOMs for free