CVE-2026-98050

HIGHPre-NVD 7.57.5—
EchelonGraph scoreHIGH confidence

Score 7.5 from GitHub Security Advisory (severity: HIGH) published 2026-09-25. A secondary CVSS source baseline 7.5; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: epss, ghsa, secondary
Trending — 3 sources updated this week
7.5EG
EchelonGraph verdictPlan mitigationSerious severity, but no confirmed exploitation yet.
  • High severity, but no confirmed exploitation yet
CISA-KEV: Not listedEPSS PROB: 0.2%CVSS: 7.5Exploit: 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:

mlxsw: spectrum_ptp: Fix napi_gro_receive() call from GC workqueue context

Currently mlxsw_sp1_ptp_ht_gc_collect() is run from the PTP garbage-collection workqueue, rather than the NAPI poll context. For any unmatched PTP entries carrying an SKB, it calls mlxsw_sp1_ptp_unmatched_finish() -> mlxsw_sp1_ptp_packet_finish(). For ingress packets, this calls mlxsw_sp_rx_listener_no_mark_func(). The end of that function is the following:

skb->protocol = eth_type_trans(skb, skb->dev); napi_gro_receive(mlxsw_skb_cb(skb)->rx_md_info.napi, skb);

The napi pointer is one that was placed in the SKB control block when the trapped packet was received in the NAPI context. Later, when the GC reaps the unmatched entry (up to MLXSW_SP1_PTP_HT_GC_TIMEOUT later), the call to napi_gro_receive() mutates the NAPI instance's GRO list, which is unsafe if the poll is running concurrently on another CPU.

In mlxsw_sp1_ptp_ht_gc_collect(), local_bh_disable() is called to prevent softirq processing, but this only applies to the local CPU. Additionally, its comment is stale. It states that mlxsw_sp1_ptp_unmatched_finish() invokes netif_receive_skb(). This has not been accurate since the referenced commit; this patch makes that comment accurate again. mlxsw_pci_napi_devs_init() calls netif_threaded_enable() on the NAPI RX net_device without any conditions. The NAPI instance's poll, which may be running concurrent to the GC, is running as an independently-scheduled kthread which may be on a different CPU. The call to local_bh_disable() does not guard against this.

If a tx-timestamp timeout produces an unmatched entry (which can be easily reproduced by running ptp4l and waiting for a port to reach the UNCALIBRATED/SLAVE state) while the owning NAPI thread is in the middle of a poll on another CPU, both sides mutate the GRO list concurrently, as shown below:

[39.846] port 1 (swp1): MASTER to UNCALIBRATED on RS_SLAVE list_add corruption. next->prev should be prev (ffff8d620faf4138), but was ffff8d624150f700. (next=ffff8d620faf4138). kernel BUG at lib/list_debug.c:29! Oops: invalid opcode: 0000 [#1] SMP PTI CPU: 1 UID: 0 PID: 539 Comm: napi/mlxsw_rx-0 Not tainted 6.18.48 #1-NixOS PREEMPT(lazy) Hardware name: Mellanox Technologies Ltd. MSN2410/VMOD0001, BIOS 4.6.5 09/13/2018 RIP: 0010:__list_add_valid_or_report+0x79/0xb0 RSP: 0018:ffffcdf8c0f27c08 EFLAGS: 00010246 RAX: 0000000000000075 RBX: ffff8d624150fd00 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffff8d6315d1e540 RBP: ffff8d620faf4070 R08: 0000000000000000 R09: 00000000ffffdfff R10: ffffffffa5c60fe0 R11: ffffcdf8c0f27ab8 R12: 0000000000000003 R13: 000000000000003d R14: 00000000000001bc R15: 0000000000000001 FS: 0000000000000000(0000) GS:ffff8d636f63f000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000562689a60c24 CR3: 000000015f224004 CR4: 00000000001726f0 Call Trace: gro_receive_skb+0xee/0x230 mlxsw_sp1_ptp_got_packet+0x61/0x140 [mlxsw_spectrum] mlxsw_core_skb_receive+0xdf/0x1b0 [mlxsw_core] mlxsw_pci_napi_poll_cq_rx+0x780/0x9d0 [mlxsw_pci] __napi_poll+0x31/0x1e0 napi_threaded_poll_loop+0x16b/0x1c0 napi_threaded_poll+0x71/0xa0 kthread+0xfb/0x260 ret_from_fork+0x22d/0x260 ret_from_fork_asm+0x1a/0x30 Kernel panic - not syncing: Fatal exception in interrupt

The machinery that leads to this kernel panic has not been changed between 6.18.48 and mainline.

This patch adds an ingress-delivery helper for the PTP packet_finish() path that calls netif_receive_skb() instead of napi_gro_receive(). netif_receive_skb(), unlike napi_gro_receive(), can be called from outside of the NAPI instance's poll context, which can occur at the call site for this path. RX stats accounting and the skb->dev assignment are still preserved; the only change is the delivery call itself.

This removes GR ---truncated---

CVSS v3
7.5
EG Score
7.5HIGHhigh confidence
EG Risk
38
EG Risk 38/100CISA SSVC

EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).

How it’s computed
Severity75% × 45%
Exploitation0% × 40%
Automatability30% × 15%
CISA SSVC: Track at low or medium mission impact; Track or Attend at high (mission-essential systems).
Action: No fix is confirmed yet. Restrict network exposure of the affected system or apply the vendor's mitigation within your standard update timelines at low or medium mission impact and sooner than that at high, and watch the vendor's advisory for the fix.
EPSS PROB
0.2%
EPSS %ILE
11th
KEV
Not listed

CISA SSVCTrack at low or medium mission impact; Track or Attend at high (mission-essential systems).

No fix is confirmed yet. Restrict network exposure of the affected system or apply the vendor's mitigation within your standard update timelines at low or medium mission impact and sooner than that at high, and watch the vendor's advisory for the fix.

Exploitation none (no KEV listing, exploit record or EPSS ≥ 50%) · Automatable unknown (not published for this CVE) · Technical impact partial (CVSS below 9.0). Mission impact is CISA's Mission & Well-being decision point, and only you can judge it: high means the affected system is essential to your organisation's mission, or its compromise could cause irreversible harm to people. CISA's decision table

Published

September 25, 2026

Last Modified

September 30, 2026

Advisory Details (3)

Auto-updated Sep 25, 2026
No patch confirmed yet.
generic

mlxsw: spectrum_ptp: Fix napi_gro_receive() call from GC workqueue context - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/2ac174dfcdde399fa95ba889541fb5e688d8bb35
generic

mlxsw: spectrum_ptp: Fix napi_gro_receive() call from GC workqueue context - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/7ddcc460176eb34f9bc5bda3cc274d0d24dc62a9
generic

mlxsw: spectrum_ptp: Fix napi_gro_receive() call from GC workqueue context - kernel/git/stable/linux.git - Linux kernel stable tree

https://git.kernel.org/stable/c/4375b3d1c2898886df1f908160c7004bdd938e73

Vendor Advisories for CVE-2026-98050(1)

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

Affected Packages

(1 across 1 ecosystem)
Debian:14(1)
PackageVulnerable rangeFix by version rangeDependents
linux6.12.100-1 ... 7.2~rc7-1~exp1 (179 versions)
  • every version up to 7.2.7-1: fixed in 7.2.7-1
—

Data Freshness Timeline

(refreshed 29× in last 7d / 47× 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-05 06:43 UTCEG score recompute
  2. 2026-10-05 06:43 UTCGHSA enrichment
  3. 2026-10-04 23:23 UTCEPSS rescore
  4. 2026-10-04 18:16 UTCGHSA enrichment
  5. 2026-10-04 05:49 UTCGHSA enrichment
  6. 2026-10-03 17:22 UTCEG score recompute
  7. 2026-10-03 17:22 UTCGHSA enrichment
  8. 2026-10-03 14:26 UTCEPSS rescore
  9. 2026-10-03 04:56 UTCEG score recompute
  10. 2026-10-03 04:56 UTCGHSA enrichment
  11. 2026-10-02 17:57 UTCEPSS rescore
  12. 2026-10-02 16:29 UTCGHSA enrichment
  13. 2026-10-02 04:02 UTCEG score recompute
  14. 2026-10-02 04:01 UTCGHSA enrichment
  15. 2026-10-01 19:51 UTCEPSS rescore
  16. 2026-10-01 15:33 UTCGHSA enrichment
  17. 2026-10-01 03:01 UTCEG score recompute
  18. 2026-10-01 03:01 UTCGHSA enrichment
  19. 2026-09-30 15:04 UTCEPSS rescore
  20. 2026-09-30 14:35 UTCGHSA enrichment
  21. 2026-09-30 07:43 UTCGHSA enrichment
  22. 2026-09-29 19:13 UTCEG score recompute
  23. 2026-09-29 19:13 UTCGHSA enrichment
  24. 2026-09-29 06:41 UTCEG score recompute
  25. 2026-09-29 06:41 UTCGHSA enrichment
Show 22 more
  1. 2026-09-28 18:15 UTCEG score recompute
  2. 2026-09-28 18:15 UTCGHSA enrichment
  3. 2026-09-28 13:52 UTCEPSS rescore
  4. 2026-09-28 13:52 UTCEPSS rescore
  5. 2026-09-28 05:48 UTCGHSA enrichment
  6. 2026-09-27 17:21 UTCEG score recompute
  7. 2026-09-27 17:21 UTCGHSA enrichment
  8. 2026-09-27 13:49 UTCEPSS rescore
  9. 2026-09-27 04:50 UTCGHSA enrichment
  10. 2026-09-26 16:21 UTCEG score recompute
  11. 2026-09-26 16:21 UTCGHSA enrichment
  12. 2026-09-26 15:59 UTCEPSS rescore
  13. 2026-09-26 03:54 UTCEG score recompute
  14. 2026-09-26 03:54 UTCGHSA enrichment
  15. 2026-09-25 15:23 UTCEG score recompute
  16. 2026-09-25 15:23 UTCGHSA enrichment
  17. 2026-09-25 14:52 UTCEG score recompute▲ 7.50
  18. 2026-09-25 14:52 UTCGHSA enrichment
  19. 2026-09-25 14:49 UTCMITRE cvelistV5CVSS v3 → 7.5 · severity → HIGH
  20. 2026-09-25 11:30 UTCNVD update
  21. 2026-09-25 10:28 UTCEG score recompute
  22. 2026-09-25 10:27 UTCMITRE cvelistV5first tracked

Frequently asked(5)

What is CVE-2026-98050?
CVE-2026-98050 is a high vulnerability published on September 25, 2026. In the Linux kernel, the following vulnerability has been resolved: mlxsw: spectrumptp: Fix napigro_receive() call from GC workqueue context Currently mlxswsp1ptphtgc_collect() is run from the PTP garbage-collection workqueue, rather than the NAPI poll context. For any unmatched PTP entries…
When was CVE-2026-98050 disclosed?
CVE-2026-98050 was first published on September 25, 2026, with the most recent update on September 30, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-98050 actively exploited?
CVE-2026-98050 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0.2% probability of exploitation in the next 30 days (11th percentile of EPSS-scored CVEs).
What is the CVSS score of CVE-2026-98050?
CVE-2026-98050 has a CVSS base score of 7.5 (a secondary CVSS source that NVD displays; NVD's own analysis pending).
How do I remediate CVE-2026-98050?
No fix for CVE-2026-98050 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-98050 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-98050

Explore →

Is Your Infrastructure Affected by CVE-2026-98050?

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