Cloudanix VulnDB

CVE-2025-21730

None

CVSS

—

EPSS

0.2%

Published

Feb 27, 2025

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A bug in certain Wi-Fi hardware drivers can crash the whole computer when waking from sleep, and updating the system software fixes it.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Moderate
Impact
Denial Of Service
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Double initialization of the mgnt_entry list in rtw89_ops_add_interface during WoWLAN resume failure bypasses list_empty checks, leading to list_add_tail corruption and kernel BUG in __list_add_valid_or_report.

Why it matters to the business

Affected systems with Realtek rtw89 Wi-Fi hardware experience kernel crashes and reboots during power management resume, causing downtime and potential data loss on Linux devices.

How an attack unfolds

An attacker or environmental trigger causes WoWLAN to fail during system resume on rtw89 hardware; the subsequent interface re-add without prior removal corrupts internal kernel lists, resulting in a panic.

How to fix it

Upgrade Linux kernel to 6.13.2 or apply commit 7fc295fdd3992a9a07d12fd3f2e84dface23aedc; rebuild and reboot with the patched driver for rtw89.

How to confirm the fix worked

Confirm kernel version >= 6.13.2, verify absence of double-list init code paths in rtw89_chanctx_ops_assign_vif, and test WoWLAN resume cycles on affected hardware without list corruption.

Typical attack path

  1. Induce WoWLAN failure in resume path on rtw89 hardware
  2. Trigger rtw89_ops_add_interface without prior interface removal
  3. Execute list_add_tail on already-linked mgnt_entry causing corruption
  4. Hit kernel BUG at lib/list_debug.c resulting in crash

How to detect it

Search kernel logs for 'list_add corruption', 'kernel BUG at lib/list_debug.c', rtw89 WoWLAN failure messages such as 'failed to check wow status disabled' and 'failed to resume for wow', and stack traces involving rtw89_chanctx_ops_assign_vif or ieee80211_reconfig.

  • list_add corruption. prev->next should be next
  • kernel BUG at lib/list_debug.c:34
  • rtw89_8852ce.*failed to check wow status disabled
  • rtw89_8852ce.*wow: failed to check disable fw ready
  • rtw89_8852ce.*failed to resume for wow -110
  • rtw89_chanctx_ops_assign_vif

What your security team should do

  • Prioritize kernel upgrade to 6.13.2 on all systems using rtw89 Wi-Fi
  • Monitor for list corruption panics in dmesg on resume events
  • Disable WoWLAN if upgrade not immediately feasible

The record

In the Linux kernel, the following vulnerability has been resolved: wifi: rtw89: avoid to init mgnt_entry list twice when WoWLAN failed If WoWLAN failed in resume flow, the rtw89_ops_add_interface() triggered without removing the interface first. Then the mgnt_entry list init again, causing the list_empty() check in rtw89_chanctx_ops_assign_vif() useless, and list_add_tail() again. Therefore, we have added a check to prevent double adding of the list. rtw89_8852ce 0000:01:00.0: failed to check wow status disabled rtw89_8852ce 0000:01:00.0: wow: failed to check disable fw ready rtw89_8852ce 0000:01:00.0: wow: failed to swap to normal fw rtw89_8852ce 0000:01:00.0: failed to disable wow rtw89_8852ce 0000:01:00.0: failed to resume for wow -110 rtw89_8852ce 0000:01:00.0: MAC has already powered on i2c_hid_acpi i2c-ILTK0001:00: PM: acpi_subsys_resume+0x0/0x60 returned 0 after 284705 usecs list_add corruption. prev->next should be next (ffff9d9719d82228), but was ffff9d9719f96030. (prev=ffff9d9719f96030). ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:34! invalid opcode: 0000 [#1] PREEMPT SMP NOPTI CPU: 2 PID: 6918 Comm: kworker/u8:19 Tainted: G U O Hardware name: Google Anraggar/Anraggar, BIOS Google_Anraggar.15217.514.0 03/25/2024 Workqueue: events_unbound async_run_entry_fn RIP: 0010:__list_add_valid_or_report+0x9f/0xb0 Code: e8 56 89 ff ff 0f 0b 48 c7 c7 3e fc e0 96 48 89 c6 e8 45 89 ff ... RSP: 0018:ffffa51b42bbbaf0 EFLAGS: 00010246 RAX: 0000000000000075 RBX: ffff9d9719d82ab0 RCX: 13acb86e047a4400 RDX: 3fffffffffffffff RSI: 0000000000000000 RDI: 00000000ffffdfff RBP: ffffa51b42bbbb28 R08: ffffffff9768e250 R09: 0000000000001fff R10: ffffffff9765e250 R11: 0000000000005ffd R12: ffff9d9719f95c40 R13: ffff9d9719f95be8 R14: ffff9d97081bfd78 R15: ffff9d9719d82060 FS: 0000000000000000(0000) GS:ffff9d9a6fb00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007e7d029a4060 CR3: 0000000345e38000 CR4: 0000000000750ee0 PKRU: 55555554 Call Trace: <TASK> ? __die_body+0x68/0xb0 ? die+0xaa/0xd0 ? do_trap+0x9f/0x170 ? __list_add_valid_or_report+0x9f/0xb0 ? __list_add_valid_or_report+0x9f/0xb0 ? handle_invalid_op+0x69/0x90 ? __list_add_valid_or_report+0x9f/0xb0 ? exc_invalid_op+0x3c/0x50 ? asm_exc_invalid_op+0x16/0x20 ? __list_add_valid_or_report+0x9f/0xb0 rtw89_chanctx_ops_assign_vif+0x1f9/0x210 [rtw89_core cbb375c44bf28564ce479002bff66617a25d9ac1] ? __mutex_unlock_slowpath+0xa0/0xf0 rtw89_ops_assign_vif_chanctx+0x4b/0x90 [rtw89_core cbb375c44bf28564ce479002bff66617a25d9ac1] drv_assign_vif_chanctx+0xa7/0x1f0 [mac80211 6efaad16237edaaea0868b132d4f93ecf918a8b6] ieee80211_reconfig+0x9cb/0x17b0 [mac80211 6efaad16237edaaea0868b132d4f93ecf918a8b6] ? __pfx_wiphy_resume+0x10/0x10 [cfg80211 572d03acaaa933fe38251be7fce3b3675284b8ed] ? dev_printk_emit+0x51/0x70 ? _dev_info+0x6e/0x90 wiphy_resume+0x89/0x180 [cfg80211 572d03acaaa933fe38251be7fce3b3675284b8ed] ? __pfx_wiphy_resume+0x10/0x10 [cfg80211 572d03acaaa933fe38251be7fce3b3675284b8ed] dpm_run_callback+0x37/0x1e0 device_resume+0x26d/0x4b0 ? __pfx_dpm_watchdog_handler+0x10/0x10 async_resume+0x1d/0x30 async_run_entry_fn+0x29/0xd0 worker_thread+0x397/0x970 kthread+0xed/0x110 ? __pfx_worker_thread+0x10/0x10 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x38/0x50 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1b/0x30 </TASK>

Affected packages

Ecosystem Package Introduced Fixed
Debian:13 linux 0 No fix
Debian:13 linux 0 6.12.13-1
Linux Kernel 6.13.0 6.13.2

Related vulnerabilities