CVE-2023-54166
Race Condition Causing Kernel Panic in Linux igc Driver
Publication date: 2025-12-30
Last updated on: 2025-12-30
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| intel | igc | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability is a race condition in the Linux kernel's igc network driver that can cause a kernel panic during the ndo_tx_timeout callback. It occurs when the transmit queue times out, triggering a reset adapter function. The issue arises from race conditions during interface down/up operations and interrupt handling, which can lead to a kernel panic. The fix involves turning off all TX ring hardware queues during the igc_down() process and reactivating them during igc_up(), preventing the race condition.
How can this vulnerability impact me? :
This vulnerability can cause a kernel panic, which leads to a system crash or reboot. This disrupts network connectivity and can cause downtime or loss of service on systems using the affected igc network driver, impacting system stability and availability.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by monitoring kernel logs for messages indicating transmit queue timeouts related to the igc driver. Specifically, look for kernel trace messages such as 'NETDEV WATCHDOG: <interface> (igc): transmit queue <n> timed out' and warnings from dev_watchdog. You can use commands like 'dmesg | grep igc' or 'journalctl -k | grep igc' to check for these messages.
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 igc transmit queue timeout issue. The patch ensures that all TX ring hardware queues are turned off during the igc_down() process and reactivated during igc_up(), preventing kernel panic. Until the update is applied, monitoring for transmit queue timeouts and avoiding frequent interface down/up cycles may reduce the risk.