Safeguard
Vulnerability Analysis•

CVE-2023-42974: High IOUSBDeviceFamily Race in iOS, macOS

CVE-2023-42974 is a high (7.0) race condition in Apple IOUSBDeviceFamily that lets an app run kernel code. Fixed in iOS 17.2, 16.7.3 and macOS Sonoma 14.2.

Safeguard Security Team
3 min read

CVE-2023-42974 is a high severity (CVSS 7.0) race condition in IOUSBDeviceFamily, the USB device driver family on Apple systems. An app may be able to execute arbitrary code with kernel privileges. Apple fixed it with improved state handling in iOS 17.2, iOS 16.7.3, macOS Sonoma 14.2, Ventura 13.6.3 and Monterey 12.7.2.

What's affected

The record lists iPadOS and iPhone OS and gives the fixed releases as macOS Monterey 12.7.2, macOS Ventura 13.6.3, iOS 17.2 and iPadOS 17.2, iOS 16.7.3 and iPadOS 16.7.3, and macOS Sonoma 14.2.

Apple's bulletins for iOS 16.7.3, iOS 17.2 and macOS Sonoma 14.2 list an IOUSBDeviceFamily entry with the impact "An app may be able to execute arbitrary code with kernel privileges" and the description "A race condition was addressed with improved state handling". The entries were added or updated on March 22, 2024.

The weakness is CWE-362, a race condition, and the vector rates attack complexity as high.

How to check if you're exposed

On an iPhone or iPad, open Settings, then General, then About, and read the iOS or iPadOS version. Settings, General, Software Update shows whether a newer release is waiting.

On a Mac, the Terminal can print the installed macOS version and list pending updates:

sw_vers
softwareupdate --list

About This Mac in the Apple menu shows the same version number.

What to do now

  1. Update iPhone and iPad to iOS or iPadOS 17.2 or later, or 16.7.3 on the older line.
  2. Update Macs to Sonoma 14.2, Ventura 13.6.3 or Monterey 12.7.2 or later.
  3. Apply the update to older iPhones such as the iPhone 8 and X, which got a 16.7.3 build.
  4. Use device management to enforce an OS floor.
  5. Review exceptions monthly and set an end date for each.

Why it matters

Driver code that handles USB devices has to coordinate between the hardware and software, and races can occur when two paths touch the same state. The weakness is CWE-362. Apple's fix is improved state handling, which means the driver now guards the state properly.

As with the other race conditions in this group, the record rates attack complexity as high, which keeps the score at 7.0. The effect is code running with kernel privileges, started by a local app and needing user interaction. The KEV flag is false. Updating to the fixed releases is enough.

Quick check

Does this need a physical USB device?

The sources we read do not say. They describe an app that may execute code with kernel privileges and a local attack path.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

We email you a link to confirm, and only then add you to the list. Unsubscribe in one click. Privacy

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.