<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>Libwebsockets - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/libwebsockets/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Thu, 05 Nov 2026 07:41:25 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/libwebsockets/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>libwebsockets: MQTT client out-of-bounds write (CVE-2026-114550)</title><link>https://feed.craftedsignal.io/briefs/2026-11-libwebsockets-mqtt-oob-write/</link><pubDate>Thu, 05 Nov 2026 07:41:25 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-11-libwebsockets-mqtt-oob-write/</guid><description>An unauthenticated out-of-bounds write vulnerability in the libwebsockets MQTT client allows a malicious broker to hijack control-flow via crafted PUBACK packets (CVE-2026-114550).</description><content:encoded><![CDATA[<p>CVE-2026-114550 is an unauthenticated out-of-bounds write vulnerability in the libwebsockets (lws) MQTT client role. The issue occurs when the <code>_lws_mqtt_rx_parser</code> function incorrectly handles the properties-length variable byte integer (VBI) within a PUBACK packet. If the parser is steered into an improper state, it fails to reset the <code>fixed_seen</code> counter, allowing an attacker to perform a sequential OOB write of attacker-controlled bytes into the heap. This corruption can target <code>lws_sorted_usec_list_t</code> timers and function-pointer tables, facilitating control-flow hijacking.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The client establishes a connection to a malicious, attacker-controlled MQTT broker.</li>
<li>The attacker sends a specially crafted PUBACK packet to the client.</li>
<li>The parser processes the PUBACK properties length, enters an incorrect state (<code>LMQCPP_PUBACK_VH_PKT_ID</code>), and fails to reset the <code>fixed_seen</code> counter.</li>
<li>The parser consumes subsequent bytes from the malicious packet as if they were packet headers, writing them sequentially into the <code>_lws_mqtt_related</code> heap allocation.</li>
<li>The OOB write overwrites internal parser bookkeeping, timer structures, and function pointers.</li>
<li>The parser sustains the write process indefinitely by steering its own internal state and bounds-check variables via the controlled data.</li>
<li>The client triggers the corrupted pointer (e.g., a timer callback or <code>qos2_state_ops</code>), resulting in a controlled jump to attacker-supplied memory.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>The vulnerability allows an attacker to achieve control-flow hijacking, potentially leading to remote code execution (RCE). Practical exploitation requires bypassing ASLR via heap grooming and knowledge of exact build offsets, but the availability of a functional proof-of-concept (PoC) increases the risk of exploitation for unpatched systems.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Update libwebsockets to version 5.0.0 or later, or ensure the library is patched with commit <code>c9e8e1834d7f13038c82963086b90e2ee9c5b44c</code>.</li>
<li>Inventory all systems, IoT devices, or services utilizing libwebsockets with MQTT support enabled (<code>-DLWS_ROLE_MQTT=1</code>).</li>
<li>Restrict client connectivity to known, trusted MQTT brokers to prevent exploitation by malicious brokers.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>mqtt</category><category>libwebsockets</category><category>memory-corruption</category><category>rce</category></item></channel></rss>