PatchSiren

PatchSiren cyber security CVE debrief

CVE-2026-15891 zephyrproject CVE debrief

A vulnerability in the MQTT-SN client keepalive handler process_ping() allows a remotely triggerable denial of service (availability) of the affected MQTT-SN client. The issue arises when the connected MQTT-SN gateway fails to answer keepalive PINGREQs for the configured number of retries, forcing the client into the defect. This denial-of-service vulnerability can lead to a crash or kernel panic, and potentially allows for memory corruption if the target system has a writable address at 0. The vulnerability is triggered by a malicious or compromised gateway, or an on-path/adjacent attacker that advertises itself as a gateway and then stops responding.

Vendor
zephyrproject
Product
zephyr
CVSS
HIGH 7.5
CISA KEV
Not listed in stored evidence
Original CVE published
2026-09-13
Original CVE updated
2026-11-04
Advisory published
2026-09-13
Advisory updated
2026-11-04

Who should care

Defenders responsible for MQTT-SN client configuration and security should assess exposure and prioritize patching to prevent potential denial-of-service attacks. This involves reviewing the MQTT-SN client configuration and ensuring that the fix is applied to prevent exploitation. Additionally, defenders should monitor for potential exploitation attempts and review compensating controls for exposed systems while remediation is scheduled and verified.

Why it matters

A vulnerability in the MQTT-SN client keepalive handler process_ping() allows a remotely triggerable denial of service (availability) of the affected MQTT-SN client. Defenders should prioritize verifying and applying the patch to prevent potential denial-of-service attacks.

  • Denial of service (availability) of the affected MQTT-SN client
  • Potential crash/kernel panic or silent memory-allocator corruption

Technical summary

The MQTT-SN client keepalive handler process_ping() in subsys/net/lib/mqtt_sn/mqtt_sn.c removes the gateway record after PINGREQ retries are exhausted. However, it invokes SYS_SLIST_PEEK_HEAD_CONTAINER(&client->gateways, gw, next) but discards the result, leading to a NULL pointer dereference. The code then dereferences the NULL gw (gw->gw_id) and passes it to mqtt_sn_gw_destroy(), reaching k_mem_slab_free(&gateways, NULL). With CONFIG_MEM_SLAB_POINTER_VALIDATE enabled this triggers k_panic(); in the default configuration it performs a write through the NULL pointer ((char *)mem = slab->free_list;) and corrupts the slab free list.

Defensive priority

Defenders should prioritize verifying and applying the patch to prevent potential denial-of-service attacks. This involves reviewing the MQTT-SN client configuration and ensuring that the fix is applied to prevent exploitation.

Recommended defensive actions

  • Verify and apply the patch to prevent potential denial-of-service attacks
  • Review MQTT-SN client configuration to ensure the fix is applied
  • Monitor for potential exploitation attempts
  • Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up
  • Review the supplied official advisory or CVE record to validate affected scope, severity, and vendor guidance
  • Plan vendor-supported updates or mitigations through normal change control where exposure is confirmed
  • Check relevant monitoring, detection, and logs for exposed assets that need extra review

Evidence notes

The vulnerability is caused by the MQTT-SN client keepalive handler process_ping() removing the gateway record after PINGREQ retries are exhausted but not properly checking the result of SYS_SLIST_PEEK_HEAD_CONTAINER. This leads to a NULL pointer dereference and a crash/kernel panic or silent memory-allocator corruption.

Sources and references

Verified primary and authoritative sources

  • CVE-2026-15891 CVE Program record

    Publisher, destination, and source semantics verified

    URL: https://www.cve.org/CVERecord?id=CVE-2026-15891

    CVE Program - Official CVE Program record with source-provided CVE metadata.

  • CVE-2026-15891 NVD vulnerability detail

    Publisher, destination, and source semantics verified

    URL: https://nvd.nist.gov/vuln/detail/CVE-2026-15891

    NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.

Supplemental references

Methodology and review provenance

AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.