Cyber Resilience

CVE-2026-10637

Memory Safety in Zephyrproject Zephyr 1.12.0 – 4.5.0

Public PoCMemory Safety
Published
16 June 2026
Modified
14 July 2026
Patch / advisory
CVSS Score v3.1 5.9
Click a component to see what it means
Raw vectorCVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H
EPSS Score 0.0030 22th percentile
Risk Priority 35 floored blend · peak EPSS

Summary

CVE-2026-10637 is a medium-severity Use After Free (CWE-416) vulnerability in Zephyrproject Zephyr. Its CVSS base score is 5.9 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Application or System Exploitation (T1499.004); ranked at the 22th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to SA-11 (Developer Testing and Evaluation) and SA-8 (Security and Privacy Engineering Principles) — see the control section below for these in your framework.

EU & UK References

Vulnerability Data

subsys/net/ip/ipv6_mld.c:mld_send() read the packet interface via net_pkt_iface(pkt) after net_send_data(pkt) returned successfully. Per the network stack's ownership contract (include/zephyr/net/net_core.h, and the explicit warning in subsys/net/ip/net_core.c:453-460 'do not use pkt after that call'), a successful send transfers ownership of the net_pkt and…

more

the L2 driver frees it (e.g. ethernet_send() unrefs the packet on success, subsys/net/l2/ethernet/ethernet.c:790), returning it to its k_mem_slab. The subsequent net_pkt_iface(pkt) is therefore a read of a freed object; the recovered interface pointer is then dereferenced and incremented by the per-interface statistics path (net_stats.h UPDATE_STAT/SET_STAT) when CONFIG_NET_STATISTICS_PER_INTERFACE is enabled. If the freed slot is concurrently reallocated, pkt->iface may read back as NULL (NULL-pointer dereference / crash) or as a stale/garbage pointer (stray increment write / memory corruption). The path is reachable remotely on the local link without authentication: handle_mld_query() (registered for NET_ICMPV6_MLD_QUERY) responds to a valid MLDv2 General Query (unspecified multicast address, hop limit 1) by calling send_mld_report() -> mld_send(). The result is a remotely triggerable denial of service of the networking stack, with a narrow possibility of memory corruption. The fix caches the interface in a local before sending and no longer touches the packet after net_send_data(). The IPv4/IGMP sibling (igmp_send) already used the corrected pattern.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise TechniquesAI

T1499.004 Application or System Exploitation Impact
Adversaries may exploit software vulnerabilities that can cause an application or system to crash and deny availability to users.
Why these techniques?

Use-after-free in network stack directly enables remote unauthenticated exploitation leading to DoS via system/application exploitation (T1499.004).

Confidence: HIGH · MITRE ATT&CK Enterprise v19.0

CVEs Like This One

CVE-2026-10640Same product: Zephyrproject Zephyr
CVE-2026-10655Same product: Zephyrproject Zephyr
CVE-2026-10639Same product: Zephyrproject Zephyr
CVE-2026-10646Same product: Zephyrproject Zephyr
CVE-2026-10636Same product: Zephyrproject Zephyr
CVE-2026-10638Same product: Zephyrproject Zephyr
CVE-2026-10634Same product: Zephyrproject Zephyr
CVE-2026-10663Same product: Zephyrproject Zephyr
CVE-2026-10635Same product: Zephyrproject Zephyr
CVE-2026-10667Same product: Zephyrproject Zephyr

Affected Assets

zephyrproject
zephyr
1.12.0 — 4.5.0

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)
  • SA-11 Developer Testing and Evaluation
  • SA-8 Security and Privacy Engineering Principles
Detect
Catch it (NIST detect / respond)
  • SI-2 Flaw Remediation
Harden
Shrink the surface (DISA STIG)
  • 3 hardening rules · 3 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V1.4.3

Mitigating Controls (NIST 800-53 r5) AI

prevent

Rigorous developer testing and fuzzing of the net_pkt ownership contract around net_send_data would have detected the post-send read of the freed object in mld_send.

prevent

Applying secure engineering principles (e.g., explicit resource lifetime and ownership rules) directly prevents the use-after-free pattern introduced when the MLD send path touches pkt after transfer of ownership.

respond

Rapid application of the vendor patch that caches the interface pointer before the send eliminates the freed-object access for this remotely triggered MLD code path.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices directly incorporate memory-safety tooling and reviews that prevent most use-after-free defects.

ID.RA-01 partial match
prevents

Vulnerability identification processes can discover use-after-free issues via scanning or analysis but do not prevent their introduction.

PR.PS-02 partial match
prevents

Routine patching removes known use-after-free instances after they have been introduced in released software.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

detects

Security testing in development can detect use-after-free bugs before release.

prevents

Secure SDLC mandates memory-safety practices that reduce use-after-free defects.

prevents

Application security requirements can specify memory-management rules that mitigate use-after-free.

prevents

Secure architecture principles include memory-safety design choices that limit use-after-free exposure.

prevents

Secure coding standards directly prescribe avoidance of use-after-free patterns.

prevents

Change-management processes help ensure memory-safety fixes are deployed consistently.

References