CVE-2024-36896

Summary

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxf061f43d7418cb62b8d073e221ec75d3f5b89e17 < 5f1d68ef5ddac27c6b997adccd1c339cef1e6848affected
LinuxLinuxf061f43d7418cb62b8d073e221ec75d3f5b89e17 < 63533549ff53d24daf47c443dbd43c308afc3434affected
LinuxLinuxf061f43d7418cb62b8d073e221ec75d3f5b89e17 < 6119ef6517ce501fc548154691abdaf1f954a277affected
LinuxLinuxf061f43d7418cb62b8d073e221ec75d3f5b89e17 < a4b46d450c49f32e9d4247b421e58083fde304ceaffected
LinuxLinux6.0affected
LinuxLinux0 < 6.0unaffected
LinuxLinux6.1.91 <= 6.1.*unaffected
LinuxLinux6.6.31 <= 6.6.*unaffected
LinuxLinux6.8.10 <= 6.8.*unaffected
LinuxLinux6.9 <= *unaffected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: yes
    • Technical Impact: partial

CVE Program Container

Additional References

References