CVE-2023-52886

MEDIUMNVD 6.46.4
EchelonGraph scoreMEDIUM confidence

Score 6.4 from GitHub Security Advisory published 2024-07-16. NVD baseline CVSS 6.4; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, nvd
6.4EG
EchelonGraph verdictMonitorLow exploitation likelihood right now — keep watching.
  • Lower severity and no public exploit yet
CISA-KEV: Not listedEPSS PROB: 0%CVSS: 6.4Exploit: None knownExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

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

USB: core: Fix race by not overwriting udev->descriptor in hub_port_init()

Syzbot reported an out-of-bounds read in sysfs.c:read_descriptors():

BUG: KASAN: slab-out-of-bounds in read_descriptors+0x263/0x280 drivers/usb/core/sysfs.c:883 Read of size 8 at addr ffff88801e78b8c8 by task udevd/5011

CPU: 0 PID: 5011 Comm: udevd Not tainted 6.4.0-rc6-syzkaller-00195-g40f71e7cd3c6 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/27/2023 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xd9/0x150 lib/dump_stack.c:106 print_address_description.constprop.0+0x2c/0x3c0 mm/kasan/report.c:351 print_report mm/kasan/report.c:462 [inline] kasan_report+0x11c/0x130 mm/kasan/report.c:572 read_descriptors+0x263/0x280 drivers/usb/core/sysfs.c:883 ... Allocated by task 758: ... __do_kmalloc_node mm/slab_common.c:966 [inline] __kmalloc+0x5e/0x190 mm/slab_common.c:979 kmalloc include/linux/slab.h:563 [inline] kzalloc include/linux/slab.h:680 [inline] usb_get_configuration+0x1f7/0x5170 drivers/usb/core/config.c:887 usb_enumerate_device drivers/usb/core/hub.c:2407 [inline] usb_new_device+0x12b0/0x19d0 drivers/usb/core/hub.c:2545

As analyzed by Khazhy Kumykov, the cause of this bug is a race between read_descriptors() and hub_port_init(): The first routine uses a field in udev->descriptor, not expecting it to change, while the second overwrites it.

Prior to commit 45bf39f8df7f ("USB: core: Don't hold device lock while reading the "descriptors" sysfs file") this race couldn't occur, because the routines were mutually exclusive thanks to the device locking. Removing that locking from read_descriptors() exposed it to the race.

The best way to fix the bug is to keep hub_port_init() from changing udev->descriptor once udev has been initialized and registered. Drivers expect the descriptors stored in the kernel to be immutable; we should not undermine this expectation. In fact, this change should have been made long ago.

So now hub_port_init() will take an additional argument, specifying a buffer in which to store the device descriptor it reads. (If udev has not yet been initialized, the buffer pointer will be NULL and then hub_port_init() will store the device descriptor in udev as before.) This eliminates the data race responsible for the out-of-bounds read.

The changes to hub_port_init() appear more extensive than they really are, because of indentation changes resulting from an attempt to avoid writing to other parts of the usb_device structure after it has been initialized. Similar changes should be made to the code that reads the BOS descriptor, but that can be handled in a separate patch later on. This patch is sufficient to fix the bug found by syzbot.

CVSS v3
6.4
EG Score
6.4(medium)
EG Risk
29(Track)
EG Risk 29/100SSVC: Track

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity64% × 45%
Exploitation0% × 40%
Automatability0% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
0%
EPSS %ILE
25%
KEV
Not listed

Published

July 16, 2024

Last Modified

November 21, 2024

Patch Availability(1)

Vendor / EcosystemFixed in / PatchReleasedSource
linuxKernel @ 5.10.195osv

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 8× in last 7d / 42× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

Showing the most recent 100 of 115 total refreshes for this CVE.

  1. 2026-08-07 16:25 UTCEPSS rescore
  2. 2026-08-06 13:45 UTCEPSS rescore
  3. 2026-08-05 19:15 UTCEPSS rescore
  4. 2026-08-05 19:15 UTCEPSS rescore
  5. 2026-08-04 10:36 UTCEPSS rescore
  6. 2026-08-03 10:34 UTCEPSS rescore
  7. 2026-08-02 02:25 UTCEPSS rescore
  8. 2026-08-02 02:25 UTCEPSS rescore
  9. 2026-08-01 04:14 UTCEPSS rescore
  10. 2026-07-31 19:12 UTCOSV refresh
  11. 2026-07-30 16:26 UTCEPSS rescore
  12. 2026-07-30 01:29 UTCEPSS rescore
  13. 2026-07-28 15:34 UTCEPSS rescore
  14. 2026-07-28 15:34 UTCEPSS rescore
  15. 2026-07-26 14:53 UTCEPSS rescore
  16. 2026-07-25 14:16 UTCEPSS rescore
  17. 2026-07-24 14:16 UTCEPSS rescore
  18. 2026-07-23 14:16 UTCEPSS rescore
  19. 2026-07-23 02:29 UTCEG score recompute
  20. 2026-07-22 23:16 UTCEG score recompute
  21. 2026-07-22 14:07 UTCEPSS rescore
  22. 2026-07-22 14:07 UTCEPSS rescore
  23. 2026-07-21 15:23 UTCEPSS rescore
  24. 2026-07-20 17:06 UTCEPSS rescore
  25. 2026-07-19 14:30 UTCEPSS rescore
Show 75 more
  1. 2026-07-19 14:29 UTCEPSS rescore
  2. 2026-07-19 02:27 UTCEPSS rescore
  3. 2026-07-19 02:27 UTCEPSS rescore
  4. 2026-07-18 10:03 UTCEPSS rescore
  5. 2026-07-18 10:03 UTCEPSS rescore
  6. 2026-07-16 17:01 UTCEPSS rescore
  7. 2026-07-15 16:56 UTCEPSS rescore
  8. 2026-07-15 01:59 UTCEPSS rescore
  9. 2026-07-15 01:59 UTCEPSS rescore
  10. 2026-07-14 02:25 UTCOSV refresh
  11. 2026-07-13 22:28 UTCEPSS rescore
  12. 2026-07-13 22:28 UTCEPSS rescore
  13. 2026-07-13 06:11 UTCEPSS rescore
  14. 2026-07-12 05:45 UTCEPSS rescore
  15. 2026-07-12 05:45 UTCEPSS rescore
  16. 2026-07-11 08:26 UTCEPSS rescore
  17. 2026-07-09 19:08 UTCEPSS rescore
  18. 2026-07-08 15:13 UTCEPSS rescore
  19. 2026-07-07 13:45 UTCEPSS rescore
  20. 2026-07-07 13:44 UTCEPSS rescore
  21. 2026-07-06 16:26 UTCEPSS rescore
  22. 2026-07-06 16:26 UTCEPSS rescore
  23. 2026-07-06 02:22 UTCEPSS rescore
  24. 2026-07-06 02:22 UTCEPSS rescore
  25. 2026-07-05 02:29 UTCEPSS rescore
  26. 2026-07-04 06:29 UTCEPSS rescore
  27. 2026-07-01 15:05 UTCEPSS rescore
  28. 2026-06-30 23:21 UTCEPSS rescore
  29. 2026-06-30 23:21 UTCEPSS rescore
  30. 2026-06-29 14:05 UTCEPSS rescore
  31. 2026-06-28 14:06 UTCEPSS rescore
  32. 2026-06-28 14:06 UTCEPSS rescore
  33. 2026-06-28 04:55 UTCEPSS rescore
  34. 2026-06-27 03:07 UTCEPSS rescore
  35. 2026-06-25 23:46 UTCOSV refresh
  36. 2026-06-25 13:48 UTCEPSS rescore
  37. 2026-06-25 13:48 UTCEPSS rescore
  38. 2026-06-24 14:04 UTCEPSS rescore
  39. 2026-06-24 14:04 UTCEPSS rescore
  40. 2026-06-23 21:31 UTCEPSS rescore
  41. 2026-06-23 21:31 UTCEPSS rescore
  42. 2026-06-22 14:24 UTCEPSS rescore
  43. 2026-06-22 14:24 UTCEPSS rescore
  44. 2026-06-21 14:55 UTCEPSS rescore
  45. 2026-06-21 14:55 UTCEPSS rescore
  46. 2026-06-21 01:58 UTCEPSS rescore
  47. 2026-06-21 01:58 UTCEPSS rescore
  48. 2026-06-19 19:24 UTCEPSS rescore
  49. 2026-06-19 19:24 UTCEPSS rescore
  50. 2026-06-18 17:51 UTCEPSS rescore
  51. 2026-06-17 17:51 UTCEPSS rescore
  52. 2026-06-16 17:51 UTCEPSS rescore
  53. 2026-06-16 17:51 UTCEPSS rescore
  54. 2026-06-15 17:47 UTCEPSS rescore
  55. 2026-06-14 23:16 UTCEPSS rescore
  56. 2026-06-13 22:59 UTCEPSS rescore
  57. 2026-06-13 22:59 UTCEPSS rescore
  58. 2026-06-12 23:11 UTCEPSS rescore
  59. 2026-06-11 13:59 UTCEPSS rescore
  60. 2026-06-10 22:17 UTCEPSS rescore
  61. 2026-06-10 13:21 UTCEPSS rescore
  62. 2026-06-08 14:16 UTCEPSS rescore
  63. 2026-06-08 14:16 UTCEPSS rescore
  64. 2026-06-08 12:42 UTCOSV refresh
  65. 2026-06-07 15:24 UTCEPSS rescore
  66. 2026-06-07 15:24 UTCEPSS rescore
  67. 2026-06-06 13:46 UTCEPSS rescore
  68. 2026-06-06 13:46 UTCEPSS rescore
  69. 2026-06-05 22:46 UTCEPSS rescore
  70. 2026-06-05 22:46 UTCEPSS rescore
  71. 2026-06-05 06:09 UTCEPSS rescore
  72. 2026-06-05 06:09 UTCEPSS rescore
  73. 2026-06-04 13:11 UTCEPSS rescore
  74. 2026-06-04 13:11 UTCEPSS rescore
  75. 2026-06-01 13:51 UTCEPSS rescore

Frequently asked(5)

What is CVE-2023-52886?
CVE-2023-52886 is a medium vulnerability published on July 16, 2024. In the Linux kernel, the following vulnerability has been resolved: USB: core: Fix race by not overwriting udev->descriptor in hubportinit() Syzbot reported an out-of-bounds read in sysfs.c:read_descriptors(): BUG: KASAN: slab-out-of-bounds in read_descriptors+0x263/0x280…
When was CVE-2023-52886 disclosed?
CVE-2023-52886 was first published in the National Vulnerability Database on July 16, 2024, with the most recent update on November 21, 2024. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2023-52886 actively exploited?
CVE-2023-52886 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0% probability of exploitation in the next 30 days, which ranks it in the top 74.6% of all scored CVEs.
What is the CVSS score of CVE-2023-52886?
CVE-2023-52886 has a CVSS v3 base score of 6.4 (NVD).
How do I remediate CVE-2023-52886?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2023-52886, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2023-52886

Explore →

Is Your Infrastructure Affected by CVE-2023-52886?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.