CVE-2023-54000
Deadlock Vulnerability in Linux hns3 Driver During External_lb Reset
Publication date: 2025-12-24
Last updated on: 2025-12-24
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| huawei | hns3 | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability occurs in the Linux kernel's hns3 network driver when the externel_lb (external loopback) and reset operations are executed together. During this process, the driver calls napi_disable() first, then a reset happens, but the restore process fails to call napi_enable(). When externel_lb is executed again, napi_disable() is called twice, causing a deadlock on rtnl_lock(). The issue is fixed by using a state flag (HNS3_NIC_STATE_DOWN) to protect calls to napi_disable() and napi_enable(), preventing the deadlock.
How can this vulnerability impact me? :
This vulnerability can cause a deadlock in the Linux kernel's network driver, leading to tasks being blocked indefinitely (hung tasks). This can result in network service disruptions or degraded system performance on affected systems using the hns3 driver when externel_lb and reset operations occur simultaneously.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by observing kernel logs for deadlock messages related to the hns3 driver. Specifically, look for messages indicating a task (such as kworker/u321:0) blocked for more than 120 seconds and call traces involving rtnl_lock and hclge_reset functions. You can check the kernel log using the command: dmesg | grep -i 'kworker\|hclge\|rtnl_lock' to identify such deadlock symptoms.
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation involves updating the Linux kernel to a version that includes the patch fixing the deadlock issue in the hns3 driver. The patch uses the HNS3_NIC_STATE_DOWN state to properly protect calls to napi_disable() and napi_enable() during externel_lb processes, preventing the deadlock. Until the update is applied, avoid executing externel_lb and reset operations together on affected systems to prevent triggering the deadlock.