CVE-2026-97603

UNRATEDCVSS · not yet scoredTrending — 5 sources updated this week
—
EchelonGraph verdictMonitorLow exploitation likelihood right now — keep watching.
  • No CVSS published and no exploitation signals yet
CISA-KEV: Not listedEPSS PROB: 0.2%CVSS v2: —Exploit: None knownExposed services: Not assessed

No fix is confirmed yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for the fix.

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

idpf: disable DIM work before freeing q_vectors

idpf never drains the Tx/Rx DIM works before freeing the memory they live in. tx_dim and rx_dim are embedded in struct idpf_q_vector, they are queued from the NAPI poll via net_dim(), and idpf_vport_intr_rel() ends with kfree(rsrc->q_vectors). Nothing in the driver cancels them.

idpf_tx_dim_work() and idpf_rx_dim_work() then run on freed memory: idpf_vport_intr_write_itr() writes the ITR register through q_vector->intr_reg.tx_itr / rx_itr, void __iomem pointers loaded out of the freed q_vector. No configuration is needed to get there -- IDPF_ITR_IS_DYNAMIC() is defined as (itr_mode) and idpf_vport_alloc() initialises both modes to IDPF_ITR_DYNAMIC.

Draining after idpf_vport_intr_napi_dis_all() is not enough on its own. idpf_net_dim() is called from inside the "if (napi_complete_done(napi, work_done))" branch of the poll, and napi_complete_done() has already cleared NAPIF_STATE_SCHED by then. napi_disable_locked() waits only while (val & (NAPIF_STATE_SCHED | NAPIF_STATE_NPSVC)), so napi_disable() can return while the poll tail is still queueing the work, and a plain cancel_work_sync() would be re-armed behind the drain.

Use disable_work_sync(): schedule_work() on a work with a non-zero disable count is dropped by clear_pending_if_disabled() before __queue_work() is reached.

Move idpf_init_dim() to idpf_vport_intr_alloc() so the works are initialised on every path that can reach the drain -- the three "goto intr_deinit" sites between idpf_vport_intr_init() and idpf_vport_intr_ena() get there without the enable side having run. Nothing re-enables them: rsrc->q_vectors is freed on every exit from idpf_vport_open() and on every idpf_vport_stop(), so the count dies with the object.

It is a race, not a deterministic failure -- net_dim() only schedules once DIM_NEVENTS events have accumulated and the profile index changes. A KASAN ifup/ifdown loop under load is the way to see it.

CVSS v3
—
EchelonGraph score
Not yet assessedNo source has published severity data for this CVE yet — no CVSS score from NVD or a CNA, no GitHub advisory, and it is not in CISA KEV. This is not a rating of zero; we cannot assess it yet.
EG Score
—
EG Risk
—
EPSS PROB
0.2%
EPSS %ILE
8th
KEV
Not listed

Published

September 25, 2026

Last Modified

October 3, 2026

Vendor Advisories for CVE-2026-97603(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Affected Packages

(2 across 2 ecosystems)
Debian:13(1)
PackageVulnerable rangeFix by version rangeDependents
linux6.12.100-1 ... 7.2~rc7-1~exp1 (183 versions)
  • every version on: no fix on record
—
Debian:14(1)
PackageVulnerable rangeFix by version rangeDependents
linux6.12.100-1 ... 7.2~rc7-1~exp1 (180 versions)
  • every version up to 7.2.7-1: fixed in 7.2.7-1
—

Data Freshness Timeline

(refreshed 14× in last 7d / 19× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-10-04 23:23 UTCEPSS rescore
  2. 2026-10-03 14:26 UTCEPSS rescore
  3. 2026-10-03 11:26 UTCNVD update
  4. 2026-10-03 11:22 UTCGHSA enrichment
  5. 2026-10-03 11:10 UTCMITRE cvelistV5
  6. 2026-10-02 17:57 UTCEPSS rescore
  7. 2026-10-02 00:03 UTCEG score recompute
  8. 2026-10-02 00:03 UTCGHSA enrichment
  9. 2026-10-01 19:51 UTCEPSS rescore
  10. 2026-09-30 15:04 UTCEPSS rescore
  11. 2026-09-28 17:23 UTCEG score recompute
  12. 2026-09-28 17:22 UTCGHSA enrichment
  13. 2026-09-28 13:52 UTCEPSS rescore
  14. 2026-09-28 13:52 UTCEPSS rescore
  15. 2026-09-27 13:49 UTCEPSS rescore
  16. 2026-09-26 15:59 UTCEPSS rescore
  17. 2026-09-25 11:29 UTCNVD update
  18. 2026-09-25 10:39 UTCEG score recompute
  19. 2026-09-25 10:27 UTCMITRE cvelistV5first tracked

Frequently asked(4)

What is CVE-2026-97603?
CVE-2026-97603 is a publicly disclosed vulnerability published on September 25, 2026. In the Linux kernel, the following vulnerability has been resolved: idpf: disable DIM work before freeing q_vectors idpf never drains the Tx/Rx DIM works before freeing the memory they live in. txdim and rxdim are embedded in struct idpfqvector, they are queued from the NAPI poll via netdim(), and…
When was CVE-2026-97603 disclosed?
CVE-2026-97603 was first published on September 25, 2026, with the most recent update on October 3, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-97603 actively exploited?
CVE-2026-97603 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0.2% probability of exploitation in the next 30 days (8th percentile of EPSS-scored CVEs).
How do I remediate CVE-2026-97603?
No fix for CVE-2026-97603 is confirmed yet. Until one is published, restrict network exposure of the affected system or apply the vendor's mitigation — for example, keep it off the internet or limit it to trusted networks — and watch the vendor's advisory for the fix. The vendor advisories EchelonGraph has for CVE-2026-97603 are linked in the Vendor Advisories panel on this page.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-97603

Explore →

Is Your Infrastructure Affected by CVE-2026-97603?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.