LiveActive security incident?Get immediate response
CVE Record

CVE-2024-26802: stmmac: Clear variable when destroying workqueue

In the Linux kernel, the following vulnerability has been resolved: stmmac: Clear variable when destroying workqueue Currently when suspending driver and stopping workqueue it is checked whether workqueue is not NULL and if so, it is destroyed. Function destroy_workqueue() does drain queue and does clear variable, but it does not set workqueue variable to NULL. This can cause kernel/module panic if code attempts to clear workqueue that was not initialized. This scenario is possible when resuming suspended driver in stmmac_resume(), because there is no handling for failed stmmac_hw_setup(), which can fail and return if DMA engine has failed to initialize, and workqueue is initialized after DMA engine. Should DMA engine fail to initialize, resume will proceed normally, but interface won't work and TX queue will eventually timeout, causing 'Reset adapter' error. This then does destroy workqueue during reset process. And since workqueue is initialized after DMA engine and can be skipped, it will cause kernel/module panic. To secure against this possible crash, set workqueue variable to NULL when destroying workqueue. Log/backtrace from crash goes as follows: [88.031977]------------[ cut here ]------------ [88.031985]NETDEV WATCHDOG: eth0 (sxgmac): transmit queue 1 timed out [88.032017]WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:477 dev_watchdog+0x390/0x398 <Skipping backtrace for watchdog timeout> [88.032251]---[ end trace e70de432e4d5c2c0 ]--- [88.032282]sxgmac 16d88000.ethernet eth0: Reset adapter. [88.036359]------------[ cut here ]------------ [88.036519]Call trace: [88.036523] flush_workqueue+0x3e4/0x430 [88.036528] drain_workqueue+0xc4/0x160 [88.036533] destroy_workqueue+0x40/0x270 [88.036537] stmmac_fpe_stop_wq+0x4c/0x70 [88.036541] stmmac_release+0x278/0x280 [88.036546] __dev_close_many+0xcc/0x158 [88.036551] dev_close_many+0xbc/0x190 [88.036555] dev_close.part.0+0x70/0xc0 [88.036560] dev_close+0x24/0x30 [88.036564] stmmac_service_task+0x110/0x140 [88.036569] process_one_work+0x1d8/0x4a0 [88.036573] worker_thread+0x54/0x408 [88.036578] kthread+0x164/0x170 [88.036583] ret_from_fork+0x10/0x20 [88.036588]---[ end trace e70de432e4d5c2c1 ]--- [88.036597]Unable to handle kernel NULL pointer dereference at virtual address 0000000000000004

HighCVSS 7.8Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

A flaw in the Linux stmmac Ethernet driver can crash the kernel during recovery after a failed resume. The driver may try to destroy a workqueue that was never initialized because an old pointer was not cleared. Affected systems could lose networking or restart, creating operational downtime.

Executive priority

Prioritize remediation on production devices using stmmac where a kernel panic or network outage affects safety, availability, or remote management. Treat other Linux systems as lower immediate priority after confirming the driver is absent. There is no supplied evidence of active exploitation.

Technical view

After stmmac destroys its FPE workqueue, the pointer remains non-NULL. If stmmac_hw_setup() later fails during resume before workqueue initialization, recovery from a transmit timeout can pass the stale pointer to destroy_workqueue(), causing a NULL-pointer dereference and kernel panic. The published correction clears the pointer when the workqueue is destroyed.

Likely exposure

Exposure is limited to Linux systems using the stmmac Ethernet driver, particularly devices that suspend and resume. Triggering requires a DMA initialization failure followed by transmit-timeout recovery. The bundle lists affected kernel points from 5.13 through 6.8 but does not provide complete distribution-specific package mappings.

Exploitation context

The CVSS 3.1 score is 7.8 with a local, low-privilege vector. The supplied record is not in KEV and provides no evidence of active exploitation. The documented outcome is a kernel panic; although the vector rates confidentiality and integrity impacts high, the description only demonstrates availability loss.

Researcher notes

The failure path combines stale workqueue state, failed DMA initialization during stmmac_resume(), and later reset handling after a transmit timeout. The corrective pattern is to set the workqueue pointer to NULL after destruction. Exact vulnerable and fixed package boundaries require confirmation from kernel or distribution advisories.

Mitigation direction

  • Install a vendor or distribution kernel containing the referenced stable fix.
  • Confirm the relevant fix was backported; kernel version numbers alone may not establish patch status.
  • Prioritize embedded, industrial, and other systems using stmmac that regularly suspend and resume.
  • Where updates are delayed, consult vendor guidance for supported operational mitigations.

Validation and detection

  • Inventory kernels, distribution package revisions, and systems loading the stmmac driver.
  • Compare kernel source or vendor changelogs against the referenced stable commits.
  • Review logs for stmmac resume failures, transmit timeouts, adapter resets, or workqueue-related panics.
  • Test suspend and resume stability in a controlled environment after updating.
Prepared
Confidence
medium
Sources
7

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2024-26802 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
7.8 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
3Timeline events
2ADP providers
6Source links

SSVC decision data

CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: partial

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
7.8CVSS 3.1HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H1.85.9Linux

Vulnerability scoring details

Base CVSS 3.1 score

7.8High
CVSS 3.1 vector shape for CVE-2024-26802Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

CISA-ADPCISA ADP Vulnrichment
other:ssvc
CVECVE Program Container
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux5a5586112b929546e16029261a987c9197bfdfa2, 5a5586112b929546e16029261a987c9197bfdfa2, 5a5586112b929546e16029261a987c9197bfdfa2, 5a5586112b929546e16029261a987c9197bfdfa2, 5a5586112b929546e16029261a987c9197bfdfa2unaffected
LinuxLinux5.13, 0, 5.15.151, 6.1.81, 6.6.21, 6.7.9, 6.8affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.