CVE-2026-15891
HighCVSS 7.5Exploitation Probability (EPSS)
Low risk27th percentile - higher than 27% of all known CVEs
Summary
In the MQTT-SN client (Zephyr, subsys/net/lib/mqtt_sn/mqtt_sn.c), process_ping() removes the gateway record after PINGREQ retries are exhausted, but the result of SYS_SLIST_PEEK_HEAD_CONTAINER is discarded, leaving gw as NULL. The code then dereferences NULL (gw->gw_id) and passes it to mqtt_sn_gw_destroy(), reaching k_mem_slab_free(&gateways, NULL) — triggering k_panic() with CONFIG_MEM_SLAB_POINTER_VALIDATE enabled, or corrupting the slab free list in the default configuration. The flaw is remotely triggerable by a malicious or compromised MQTT-SN gateway (or an on-path/adjacent attacker) that stops responding to PINGREQs.
Risk Assessment
An attacker can remotely cause a crash or kernel panic of the affected MQTT-SN client, resulting in a denial of service (availability loss). On targets where address 0 is writable, silent memory-allocator corruption may also occur, potentially leading to further system instability.
Recommendation
Update Zephyr to a version containing the fix that assigns the macro's return value to gw. Until patched, consider enabling CONFIG_MEM_SLAB_POINTER_VALIDATE to turn silent memory corruption into a controlled panic, and restrict MQTT-SN communication to trusted gateways.
Related vulnerabilities
- CVE-2026-90717Critical
Dell PowerProtect Data Domain Management Center contains an Authentication Bypass by Spoofing vulnerability. A low privileged attacker with remote access could exploit it to elevate privileges, potentially impacting other managed Data Domain systems.
- CVE-2026-86400Critical
Dell PowerProtect Data Domain contains an Improper Authentication vulnerability. An unauthenticated attacker with remote access could exploit it to execute arbitrary commands with root privileges, allowing complete system takeover.
- CVE-2026-86397Critical
Dell PowerProtect Data Domain contains an Improper Authentication vulnerability. An unauthenticated attacker with remote access could exploit it to create a privileged account, leading to complete system takeover.
- CVE-2026-109218Critical
The Contact Manager plugin for WordPress in versions up to and including 9.1.2 is vulnerable to arbitrary file upload via the add_message function. An incomplete extension blacklist allows bypassing validation with a trailing dot, enabling unauthenticated attackers to upload executable files and potentially achieve remote code execution.
- CVE-2026-104383Critical
Improper Control of Generation of Code in the Pigeon MFA service in EagleCloud Aquila versions through 2.6.7.2 on on-premises platforms allows authenticated remote attackers to execute arbitrary code via code injection.
- CVE-2026-84999Critical
The Pie Register Premium plugin for WordPress up to and including 3.8.4.0 is vulnerable to unrestricted file type upload via the piereg_file_upload function. File type validation errors are not checked before move_uploaded_file(), and the AJAX handler lacks nonce and capability checks, allowing unauthenticated attackers to upload PHP files and achieve remote code execution.
- CVE-2026-106013Critical
The Jupiter X Core plugin for WordPress (up to and including 4.61.0) is vulnerable to authentication bypass in its Twitter/X social login handler. The verify_twitter_callback function fails to reassign the returned credentials to the TwitterOAuth client, so the subsequent API call remains signed with the site operator's stored token, and the plugin authenticates a WordPress account based solely on the X app owner's email address.
- CVE-2026-110879Critical
A vulnerability in jackson-databind allows bypassing generic-argument validation: only the outer class of a type ID is checked, while attacker-selected classes inside generic arguments are accepted. This enables deserialization of dangerous classes (e.g., HashMap<FileSystemXmlApplicationContext,String>) even with a validator enabled, potentially leading to remote code execution. Affects versions 2.10.0+ and 3.0.0+; it is an incomplete fix for CVE-2026-54512.
- CVE-2026-58256Critical
In GRR prior to version 4.5.0, an administrator can inject malicious PHP through LDAP connector configuration parameters such as `ldap_filter`, poisoning `/personnalisation/config_ldap.inc.php` and enabling remote code execution. The administrator must first successfully connect to an LDAP server, which can be attacker-controlled, and then submit malicious input on the subsequent connector settings page.
- CVE-2026-116692Critical
In MLflow from 3.12.0rc0 until 3.17.0, third-party scorer deserialization in mlflow/genai/scorers/base.py accepts request-selected descendants of allowed modules rather than requiring an exact allowed module. An attacker can place a Python module under a writable allowed package and invoke it via /ajax-api/3.0/mlflow/scorer/invoke, leading to code execution. Version 3.17.0 fixes the issue.
Original NVD description (English source)
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. It invoked SYS_SLIST_PEEK_HEAD_CONTAINER(&client->gateways, gw, next) but discarded the result. That macro is a pure expression that does not assign to gw, so gw retained its NULL initializer regardless of the list contents. 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. The outcome is a crash/kernel panic or, on targets where address 0 is writable, silent memory-allocator corruption. The vulnerable branch runs whenever the connected MQTT-SN gateway fails to answer keepalive PINGREQs for the configured number of retries. This condition is controlled by the remote peer: a malicious or compromised gateway, or an on-path/adjacent attacker that advertises itself as a gateway and then stops responding (or blackholes the real gateway's PINGRESPs), forces the client into the defect. MQTT-SN runs over UDP and no authentication is required. The impact is a remotely triggerable denial of service (availability) of the affected MQTT-SN client; there is no attacker-controlled data written. The sibling remover process_advertise() uses SYS_SLIST_FOR_EACH_CONTAINER_SAFE and is not affected. The fix assigns the macro's return value to gw.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

