CVE-2026-15924

MEDIUMPre-NVD 5.95.9—
EchelonGraph scoreMEDIUM confidence

This medium-severity CVE scores 5.9 under a secondary CVSS source (NVD's own analysis pending). EPSS exploit probability: 0.3%, top 79% of all CVEs by exploit prediction. 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
5.9EG
EchelonGraph verdictMonitorLow exploitation likelihood right now — keep watching.
  • Lower severity and no public exploit yet
CISA-KEV: Not listedEPSS PROB: 0%CVSS: 5.9Exploit: None knownExposed: 0

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

Zephyr's TLS socket layer in subsys/net/lib/sockets/sockets_tls.c keeps a single process-global array, client_cache, of cached client sessions that is shared by every TLS socket context. The functions that mutate and read it — tls_session_save(), tls_session_get(), tls_session_cache_reset(), and the settings restore handler — allocate, free, and dereference each entry's heap buffer (entry->session). Before the fix these accesses were serialized only by the per-socket context mutex ctx->lock (assigned per socket in ctx_set_lock()), which provides no mutual exclusion between different sockets touching the shared cache.

Because CONFIG_NET_SOCKETS_TLS_MAX_CLIENT_SESSION_COUNT defaults to 1, any two concurrent client sockets contend for the same slot. A thread in tls_session_get() reading entry->session inside mbedtls_ssl_session_load() can run concurrently with another thread in tls_session_save() that selects the same entry for reuse and executes mbedtls_free(entry->session) before reallocating — a use-after-free read, and a double-free when two saves evict the same entry. Both corrupt the mbedTLS heap. The cache is reached on ordinary client paths: at connect time via tls_session_store()/tls_session_restore(), and (on main) whenever a TLS 1.3 session ticket arrives during recv()/poll() via tls_session_store_current().

Exploitation requires an application that opts into per-socket client session caching (the TLS_SESSION_CACHE socket option, off by default) and runs concurrent TLS client connections on multiple threads; the timing that opens the window is influenced by the remote peer(s), so a malicious or compromised server can raise session-ticket frequency to widen it. The reliably-demonstrable impact is memory corruption leading to a crash or heap corruption (denial of service). The fix adds a dedicated session_cache_lock mutex taken across every accessor of client_cache, serializing all reads and frees and closing the race.

CVSS v3
5.9
EG Score
5.9(medium)
EG Risk
27(Track)
EG Risk 27/100SSVC: Track

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
Severity59% × 45%
Exploitation0% × 40%
Automatability0% × 15%
Action: Routine — remediate on your standard cadence.
EPSS PROB
0%
EPSS %ILE
21%
KEV
Not listed

Published

September 14, 2026

Last Modified

September 14, 2026

Advisory Details (2)

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

Use-after-free / double-free from unsynchronized concurrent access to the TLS client session cache in Zephyr sockets · Advisory · zephyrproject-rtos/zephyr · GitHub

https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-wcgm-pq6x-v2gf
github_commit

commit 7f9d8ee32ba9 (zephyrproject-rtos/zephyr)

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

https://github.com/zephyrproject-rtos/zephyr/commit/7f9d8ee32ba9a93fc1dbb192ca2a591ac0853bdc

Weakness Classification(1)

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

Data Freshness Timeline

(refreshed 7× in last 7d / 15× 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-09-25 09:21 UTCEG score recompute
  2. 2026-09-24 10:38 UTCEG score recompute
  3. 2026-09-23 11:52 UTCEG score recompute
  4. 2026-09-22 13:09 UTCEG score recompute
  5. 2026-09-21 14:26 UTCEG score recompute
  6. 2026-09-19 16:59 UTCEG score recompute
  7. 2026-09-18 19:27 UTCEPSS rescore
  8. 2026-09-17 19:32 UTCEG score recompute
  9. 2026-09-16 18:43 UTCEG score recompute
  10. 2026-09-16 14:07 UTCEPSS rescore
  11. 2026-09-16 05:14 UTCEPSS rescore
  12. 2026-09-14 20:23 UTCEG score recompute
  13. 2026-09-14 20:15 UTCEG score recompute
  14. 2026-09-14 19:39 UTCEG score recompute
  15. 2026-09-14 19:39 UTCMITRE cvelistV5first tracked

Frequently asked(5)

What is CVE-2026-15924?
CVE-2026-15924 is a medium vulnerability published on September 14, 2026. Zephyr's TLS socket layer in subsys/net/lib/sockets/socketstls.c keeps a single process-global array, clientcache, of cached client sessions that is shared by every TLS socket context. The functions that mutate and read it — tlssessionsave(), tlssessionget(), tlssessioncachereset(), and the…
When was CVE-2026-15924 disclosed?
CVE-2026-15924 was first published in the National Vulnerability Database on September 14, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-15924 actively exploited?
CVE-2026-15924 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 0% probability of exploitation in the next 30 days, which ranks it in the top 79.0% of all scored CVEs.
What is the CVSS score of CVE-2026-15924?
CVE-2026-15924 has a CVSS v3 base score of 5.9 (NVD).
How do I remediate CVE-2026-15924?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-15924, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

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

Explore →

Is Your Infrastructure Affected by CVE-2026-15924?

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