Skip to main content

Linux Kernel igc CVE-2025-39956

MEDIUM
2025-10-09 416baaa9-dc9f-4396-8d5f-8c081fb06d67
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
4.7 MEDIUM

AV:L is correct; AC:H reflects that triggering igc_led_setup() failure requires rare allocation failure or elevated fault-injection access; PR:L retained as minimum for local session.

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
4.0 AV:L/AC:H/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE
6.1 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H
Red Hat
4.7 LOW
qualitative

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

2
Analysis Generated
Jul 30, 2026 - 08:44 vuln.today
CVE Published
Oct 09, 2025 - 10:15 nvd
MEDIUM 5.5

DescriptionNVD

In the Linux kernel, the following vulnerability has been resolved:

igc: don't fail igc_probe() on LED setup error

When igc_led_setup() fails, igc_probe() fails and triggers kernel panic in free_netdev() since unregister_netdev() is not called. [1] This behavior can be tested using fault-injection framework, especially the failslab feature. [2]

Since LED support is not mandatory, treat LED setup failures as non-fatal and continue probe with a warning message, consequently avoiding the kernel panic.

[1] kernel BUG at net/core/dev.c:12047! Oops: invalid opcode: 0000 [#1] SMP NOPTI CPU: 0 UID: 0 PID: 937 Comm: repro-igc-led-e Not tainted 6.17.0-rc4-enjuk-tnguy-00865-gc4940196ab02 #64 PREEMPT(voluntary) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:free_netdev+0x278/0x2b0 [...] Call Trace: <TASK> igc_probe+0x370/0x910 local_pci_probe+0x3a/0x80 pci_device_probe+0xd1/0x200 [...]

[2] #!/bin/bash -ex

FAILSLAB_PATH=/sys/kernel/debug/failslab/ DEVICE=0000:00:05.0 START_ADDR=$(grep " igc_led_setup" /proc/kallsyms \

| awk '{printf("0x%s", $1)}') END_ADDR=$(printf "0x%x" $((START_ADDR + 0x100)))

echo $START_ADDR > $FAILSLAB_PATH/require-start echo $END_ADDR > $FAILSLAB_PATH/require-end echo 1 > $FAILSLAB_PATH/times echo 100 > $FAILSLAB_PATH/probability echo N > $FAILSLAB_PATH/ignore-gfp-wait

echo $DEVICE > /sys/bus/pci/drivers/igc/bind

AnalysisAI

Kernel panic in the Linux igc Ethernet driver (Intel I225/I226/I227) triggers when igc_led_setup() fails during driver probe and igc_probe() propagates that failure without calling unregister_netdev() first, causing free_netdev() to hit a BUG assertion at net/core/dev.c:12047. Systems running Linux kernel 6.17-rc1 through rc6 with Intel I225/I226/I227 NICs are affected; a local low-privileged user who can induce an LED setup allocation failure - naturally under memory pressure or deliberately via the kernel fault-injection framework - can crash the host. No public exploit exists and EPSS sits at the 5th percentile, reflecting negligible opportunistic exploitation probability.

Technical ContextAI

The igc driver manages Intel I225/I226/I227 Gigabit Ethernet controllers. During PCI device probe (igc_probe()), the driver calls igc_led_setup() to register LED control via the kernel LED subsystem. If igc_led_setup() returns an error - most commonly due to a slab (kmalloc) allocation failure - the probe function propagates that error and calls free_netdev() as part of cleanup. However, because unregister_netdev() was never called (the device was never fully registered), free_netdev() triggers the BUG assertion at net/core/dev.c:12047, which enforces that only unregistered netdevs may be freed. The root cause is improper error-path ordering in the driver probe function: LED setup is a non-critical optional feature, but it was incorrectly treated as fatal. The fix is to demote LED setup failures to non-fatal warnings, matching standard Linux driver design where optional subsystems must not abort probe. CPE data confirms the affected scope as cpe:2.3:o:linux:linux_kernel covering the 6.17 release-candidate series.

RemediationAI

Apply the upstream kernel patches: https://git.kernel.org/stable/c/528eb4e19ec0df30d0c9ae4074ce945667dde919, https://git.kernel.org/stable/c/bec504867acc7315de9cd96ef9161fa52a25abe8, and https://git.kernel.org/stable/c/f05e82d8553232cef150a6dbb70ed67d162abb2b - these change igc_probe() to treat LED setup failures as non-fatal warnings, eliminating the panic. A released, tagged stable kernel version incorporating these fixes has not been independently confirmed at time of analysis; monitor kernel.org stable releases and distribution advisories (Debian, RHEL, Ubuntu) for backported packages. As an interim workaround on systems that do not require igc NICs, blacklist the module with 'echo blacklist igc >> /etc/modprobe.d/igc-blacklist.conf && update-initramfs -u', accepting the trade-off of losing Intel I225/I226/I227 network functionality until a patched kernel is deployed.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
Container suse/sl-micro/6.0/baremetal-os-container:latest Container suse/sl-micro/6.0/kvm-os-container:latest Container suse/sl-micro/6.0/rt-os-container:latest Container suse/sl-micro/6.0/toolbox:latest Affected
Container suse/sl-micro/6.0/base-os-container:latest Image SLE-Micro Image SLE-Micro-Azure Image SLE-Micro-BYOS Image SLE-Micro-BYOS-Azure Image SLE-Micro-BYOS-EC2 Image SLE-Micro-BYOS-GCE Image SLE-Micro-EC2 Image SLE-Micro-GCE Affected
Image SL-Micro-Default Image SL-Micro-Default-SelfInstall Image SL-Micro-Default-encrypted Image SL-Micro-Default-qcow Image SUSE-Multi-Linux-Manager-Server-EC2-llc Image SUSE-Multi-Linux-Manager-Server-EC2-ltd Affected
Image SLES-Azure-3P Image SLES-Azure-Basic Image SLES-Azure-Standard Image SLES-BYOS-Azure Image SLES-BYOS-EC2 Image SLES-BYOS-GCE Image SLES-CHOST-BYOS-Aliyun Image SLES-CHOST-BYOS-Azure Image SLES-CHOST-BYOS-EC2 Image SLES-CHOST-BYOS-GCE Image SLES-CHOST-BYOS-GDC Image SLES-CHOST-BYOS-SAP-CCloud Image SLES-EC2 Image SLES-EC2-ECS Image SLES-GCE Image SLES-GCE-3P Image SLES-Hardened-BYOS-Azure Image SLES-Hardened-BYOS-EC2 Image SLES-Hardened-BYOS-GCE Image SLES-SAPCAL-Azure Image SLES-SAPCAL-EC2 Image SLES-SAPCAL-GCE Affected
Image SLES-SAP-Azure Image SLES-SAP-Azure-3P Image SLES-SAP-BYOS-Azure Image SLES-SAP-BYOS-EC2 Image SLES-SAP-BYOS-GCE Image SLES-SAP-EC2 Image SLES-SAP-GCE Image SLES-SAP-GCE-3P Affected

Share

CVE-2025-39956 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy