CVE-2026-18417

MEDIUMPre-NVD 6.56.5—
EchelonGraph scoreMEDIUM confidence

This medium-severity CVE scores 6.5 under a secondary CVSS source (NVD's own analysis pending). EPSS exploit probability: 0.2% (6th percentile of EPSS-scored CVEs). GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).

Triggered by: NVD CVSS baseline
Sources: epss, secondary
Trending — 3 sources updated this week
6.5EG
EchelonGraph verdictMonitorLow exploitation likelihood right now — keep watching.
  • Lower severity and no public exploit yet
CISA-KEV: Not listedEPSS PROB: 0.2%CVSS: 6.5Exploit: None knownExposed services: Not assessed

A fix is available — apply it.

The native BSD-socket layer recorded a pending asynchronous socket error by type-punning it into struct net_context's void user_data field (ctx->user_data = INT_TO_POINTER(-status) in zsock_accepted_cb(), zsock_received_cb(), zsock_connected_cb() and zsock_close_ctx() in subsys/net/lib/sockets/sockets_inet.c), reading it back with POINTER_TO_INT(). That same field is owned by the network stack for listening TCP contexts: net_tcp_accept() stores the parent context pointer there and the TCP core passes it back to the registered accept callback. A failed accept therefore left a small integer (an errno value) where the stack expected a struct net_context .

When the network interface carrying a listening TCP socket goes down, close_tcp_conn() in subsys/net/ip/tcp.c invokes the accept callback with -ENETDOWN and the context's user_data. In v4.3.0 the callback was not disarmed afterwards, so a second interface-down event forwarded the previously stored errno to zsock_accepted_cb(), which dereferenced it as the parent context and performed several stores through it (sock_set_error()'s read-modify-write of socket_data, k_fifo_cancel_wait(&parent->recv_q)) — the crash described in the fix's commit message. v4.3.1 and v4.4.x carry a later change clearing conn->accept_cb after the error callback (269cb8823d3 on the v4.3 branch, 913fae5169425550f2364655298fceb79b320066 on main), which closes that repeat path; on those releases the poisoned cookie remains reachable only by a narrower race, a handshake completing alongside the interface-down still passing the stale cookie to k_fifo_put(&parent->accept_q, ...), and by getsockopt(SO_ERROR), which reads the field back unconditionally.

On v4.3.0 an application that keeps a listening TCP socket open across repeated link-down events is sufficient to reach the defect; the triggering condition is a network-interface state change, not attacker-supplied packet data, so the practical attacker is one able to force the link down repeatedly (for example an adjacent attacker disrupting a wireless link) or one with local/physical access. Because both the faulting address and the stored data are fixed small constants derived from the errno value, the outcome is a wild-pointer access leading to a kernel fatal error — a denial of service (device crash or reset) rather than an attacker-directed memory corruption.

The fix stores the pending error in a dedicated net_context.sock_error field and converts every producer and consumer to sock_set_error()/sock_get_error(), leaving user_data untouched. As a side effect it also stops getsockopt(SO_ERROR) — which is evaluated unconditionally — from returning the kernel address held in user_data to a userspace application.

CVSS v3
6.5
EG Score
6.5MEDIUMmedium confidence
EG Risk
29
EG Risk 29/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
Severity65% × 45%
Exploitation0% × 40%
Automatability0% × 15%
CISA SSVC: Track at every mission impact level.
Action: A fix is available. Apply it within your standard update timelines.
EPSS PROB
0.2%
EPSS %ILE
6th
KEV
Not listed

CISA SSVCTrack at every mission impact level.

A fix is available. Apply it within your standard update timelines.

Exploitation none (CISA Vulnrichment) · Automatable no (CISA Vulnrichment) · Technical impact partial (CISA Vulnrichment). 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 28, 2026

Last Modified

September 30, 2026

Advisory Details (2)

Auto-updated Sep 28, 2026
Patch available. Sources: github_commit, github.
github Patch Available

Wild pointer dereference in Zephyr BSD sockets when a TCP listening socket reports an asynchronous error · Advisory · zephyrproject-rtos/zephyr · GitHub

https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-p8r8-8mw8-3wf9
github_commit

commit ef370a57d076 (zephyrproject-rtos/zephyr)

Fix landed in zephyrproject-rtos/zephyr commit ef370a57d076 — awaiting tagged release

https://github.com/zephyrproject-rtos/zephyr/commit/ef370a57d07637aaee8cec7b0bcebf4002ac8f54

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 14× in last 7d / 14× 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 10:48 UTCEG score recompute
  2. 2026-10-03 14:25 UTCEPSS rescore
  3. 2026-10-03 11:43 UTCEG score recompute
  4. 2026-10-02 12:38 UTCEG score recompute
  5. 2026-10-01 19:49 UTCEPSS rescore
  6. 2026-10-01 13:34 UTCEG score recompute
  7. 2026-09-30 15:02 UTCEPSS rescore
  8. 2026-09-30 14:31 UTCEG score recompute
  9. 2026-09-30 13:53 UTCEG score recompute
  10. 2026-09-29 22:11 UTCEG score recompute
  11. 2026-09-29 15:20 UTCEPSS rescore
  12. 2026-09-29 00:20 UTCEG score recompute
  13. 2026-09-28 23:31 UTCEG score recompute
  14. 2026-09-28 23:31 UTCMITRE cvelistV5first tracked

Frequently asked(5)

What is CVE-2026-18417?
CVE-2026-18417 is a medium vulnerability published on September 28, 2026. The native BSD-socket layer recorded a pending asynchronous socket error by type-punning it into struct netcontext's void userdata field (ctx->userdata = INTTOPOINTER(-status) in zsockacceptedcb(), zsockreceivedcb(), zsockconnectedcb() and zsockclosectx() in subsys/net/lib/sockets/socketsinet.c),…
When was CVE-2026-18417 disclosed?
CVE-2026-18417 was first published on September 28, 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-18417 actively exploited?
CVE-2026-18417 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0.2% probability of exploitation in the next 30 days (6th percentile of EPSS-scored CVEs).
What is the CVSS score of CVE-2026-18417?
CVE-2026-18417 has a CVSS base score of 6.5 (a secondary CVSS source that NVD displays; NVD's own analysis pending).
How do I remediate CVE-2026-18417?
A fix for CVE-2026-18417 is available: update to the fixed version the vendor names in its advisory.

Dependency Blast Radius

Explore the affected products and dependency analysis for CVE-2026-18417

Explore →

Is Your Infrastructure Affected by CVE-2026-18417?

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