<?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/"><channel><title>NATS Server - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/nats-server/</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>Wed, 24 Jan 2024 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/nats-server/feed.xml" rel="self" type="application/rss+xml"/><item><title>NATS.io MQTT ACL Bypass Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-01-nats-mqtt-acl-bypass/</link><pubDate>Wed, 24 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-nats-mqtt-acl-bypass/</guid><description>A vulnerability in NATS.io versions before v2.12.6 or v2.11.15 allows MQTT clients to bypass ACL checks for MQTT subjects due to ACLs not being applied in the `$MQTT.&gt;` namespace, potentially allowing unauthorized access and control of MQTT communications.</description><content:encoded><![CDATA[<p>NATS.io is a high-performance open-source pub-sub distributed communication technology used in cloud, on-premise, IoT, and edge computing environments. A critical vulnerability exists in the NATS server that allows MQTT clients to bypass Access Control List (ACL) checks when using the MQTT client interface. Specifically, ACLs are not enforced in the <code>$MQTT.&gt;</code> namespace, which handles MQTT subjects. This flaw affects NATS server versions prior to v2.12.6 and v2.11.15, potentially enabling malicious MQTT clients to publish or subscribe to topics they should not have access to, leading to information disclosure or unauthorized control of the NATS messaging system. The vulnerability is identified as CVE-2026-33217 and presents a significant security risk for organizations relying on NATS for secure communication.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies a NATS server running a vulnerable version (prior to v2.12.6 or v2.11.15) with MQTT enabled.</li>
<li>The attacker establishes an MQTT client connection to the NATS server.</li>
<li>The attacker crafts MQTT PUBLISH or SUBSCRIBE messages targeting subjects within the <code>$MQTT.&gt;</code> namespace.</li>
<li>The NATS server, due to the vulnerability, fails to apply configured ACLs to the MQTT messages.</li>
<li>The attacker successfully publishes or subscribes to MQTT topics without proper authorization.</li>
<li>The attacker gains unauthorized access to MQTT data or control over MQTT devices connected to the NATS server.</li>
<li>The attacker can then leverage the unauthorized access for malicious purposes such as data exfiltration or disruption of services.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability (CVE-2026-33217) can lead to unauthorized access to sensitive MQTT data within the NATS messaging system. This can affect any organization using NATS for MQTT communication, especially in IoT environments where MQTT is prevalent. The impact ranges from information disclosure to complete compromise of MQTT-controlled devices or services. The number of potential victims is dependent on the number of NATS deployments using MQTT functionality and running vulnerable versions, but given the widespread adoption of NATS, the potential impact is significant.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade NATS server instances to version v2.12.6 or v2.11.15 or later to remediate CVE-2026-33217.</li>
<li>Deploy the provided Sigma rule <code>Detect Suspicious MQTT Namespace Access</code> to identify potential exploitation attempts targeting the <code>$MQTT.&gt;</code> namespace.</li>
<li>Monitor NATS server logs for suspicious activity related to MQTT connections and subject access using the <code>$MQTT.&gt;</code> namespace.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>nats.io</category><category>mqtt</category><category>acl-bypass</category><category>vulnerability</category></item><item><title>NATS Server MQTT Password Disclosure Vulnerability</title><link>https://feed.craftedsignal.io/briefs/2024-01-23-nats-mqtt-disclosure/</link><pubDate>Tue, 23 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-23-nats-mqtt-disclosure/</guid><description>The NATS server exposes MQTT passwords in plaintext via monitoring endpoints due to incorrect classification as JWTs, affecting versions before v2.12.6 or v2.11.15.</description><content:encoded><![CDATA[<p>NATS.io is a high-performance open-source pub-sub distributed communication technology. The NATS server provides an MQTT client interface. A vulnerability exists where MQTT passwords, when used with usercodes, are incorrectly classified as non-authenticating identity statements (JWT) and exposed via monitoring endpoints. This vulnerability affects NATS server versions before v2.12.6 and v2.11.15. Successful exploitation allows unauthorized access to MQTT credentials, potentially leading to broader access within the NATS environment. Defenders should prioritize patching and securing monitoring endpoints to mitigate this risk. The reported CVE is CVE-2026-33216.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a NATS server instance running a vulnerable version (prior to v2.12.6 or v2.11.15) with MQTT enabled.</li>
<li>MQTT is configured to use usercodes/passwords for authentication.</li>
<li>Attacker accesses the monitoring endpoint of the NATS server. This could be via a direct connection or through a proxy.</li>
<li>The NATS server incorrectly classifies the MQTT password as a non-authenticating JWT.</li>
<li>The server exposes the plaintext MQTT password in the monitoring endpoint's output.</li>
<li>The attacker retrieves the plaintext MQTT password from the monitoring endpoint.</li>
<li>Attacker uses the compromised MQTT credentials to authenticate to the NATS server via the MQTT client interface.</li>
<li>Attacker gains unauthorized access to NATS server resources and pub-sub channels accessible to the compromised MQTT user.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability (CVE-2026-33216) allows an attacker to gain unauthorized access to MQTT credentials. This can lead to the attacker gaining access to sensitive data being transmitted through the NATS pub-sub system. The impact depends on the privileges associated with the compromised MQTT user and the data accessible through the NATS channels it can access. If the monitoring endpoint is exposed to the internet, the risk is significantly increased.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade NATS server instances to version v2.12.6 or v2.11.15 or later to remediate the vulnerability (CVE-2026-33216).</li>
<li>Implement strong access controls on the NATS server monitoring endpoints as suggested in the advisory to prevent unauthorized access.</li>
<li>Deploy the Sigma rule <code>Detect NATS Server Monitoring Endpoint Access</code> to identify suspicious access attempts to the monitoring endpoint.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>nats</category><category>mqtt</category><category>credential-access</category><category>vulnerability</category></item><item><title>NATS Server Credentials Exposure via Monitoring Port</title><link>https://feed.craftedsignal.io/briefs/2024-01-nats-credential-exposure/</link><pubDate>Tue, 23 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-nats-credential-exposure/</guid><description>NATS servers configured with command-line credentials expose them through the `/debug/vars` endpoint on the monitoring port, affecting versions prior to 2.11.15 and between 2.12.0-RC.1 and 2.12.6, potentially leading to unauthorized access.</description><content:encoded><![CDATA[<p>NATS.io is a high-performance, open-source messaging system designed for cloud, on-premise, IoT, and edge computing environments. A vulnerability exists where credentials passed via command-line arguments (<code>argv</code>) to the <code>nats-server</code> are exposed through the server's monitoring port. Specifically, if a NATS server is launched with client authentication details specified directly in the command line, this information becomes visible via the <code>/debug/vars</code> endpoint. This affects NATS server versions prior to 2.11.15 and versions 2.12.0-RC.1 through 2.12.6. Attackers with access to the monitoring port can extract these credentials and potentially gain unauthorized access to the NATS messaging system. This exposure represents a significant security risk, especially in environments where the monitoring port is accessible from untrusted networks.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>A NATS server is deployed with the <code>--user</code> and <code>--pass</code> parameters in the command line (<code>argv</code>) to configure client authentication.</li>
<li>The monitoring port is enabled on the NATS server, typically on port 8222.</li>
<li>An attacker gains access to the monitoring port, either through network access or by exploiting a separate vulnerability.</li>
<li>The attacker sends an HTTP GET request to the <code>/debug/vars</code> endpoint on the monitoring port (e.g., <code>http://nats-server:8222/debug/vars</code>).</li>
<li>The server responds with a JSON payload containing system information, including the command-line arguments used to launch the server.</li>
<li>The attacker parses the JSON response and extracts the credentials specified in the <code>--user</code> and <code>--pass</code> parameters.</li>
<li>The attacker uses the extracted credentials to authenticate with the NATS server as a legitimate client.</li>
<li>The attacker gains unauthorized access to the NATS messaging system, enabling them to publish, subscribe, and manage messages within the system, potentially leading to data breaches or service disruption.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows unauthorized access to the NATS messaging system. The number of affected deployments is unknown, but any NATS server running a vulnerable version with command-line credentials and an exposed monitoring port is at risk. Compromised NATS deployments can lead to data breaches, service disruption, or the use of the messaging system for malicious purposes. Organizations in any sector utilizing NATS for inter-service communication or real-time data streaming are potentially affected.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Configure NATS server credentials within a dedicated configuration file instead of passing them via command-line arguments, as recommended in the advisory's &quot;Workarounds&quot; section.</li>
<li>Disable the monitoring port if command-line arguments are used for credential management, as mentioned in the advisory's &quot;Workarounds&quot; section.</li>
<li>Implement network access controls to restrict access to the monitoring port from untrusted networks, as stated in the advisory's &quot;Workarounds&quot; section.</li>
<li>Upgrade to NATS server version 2.11.15 or 2.12.6 or later to patch CVE-2026-33247 as described in the advisory.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>nats</category><category>credential-exposure</category><category>monitoring-port</category></item><item><title>NATS Server Panic via Malicious Compression on Leafnode Port</title><link>https://feed.craftedsignal.io/briefs/2024-01-09-nats-server-panic/</link><pubDate>Tue, 09 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-09-nats-server-panic/</guid><description>A vulnerability exists in NATS servers configured to accept leafnode connections where a malicious remote NATS server can trigger a server panic by exploiting compression negotiation on the leafnode port.</description><content:encoded><![CDATA[<p>NATS.io is a high-performance open-source pub-sub distributed communication technology. A vulnerability exists when a NATS server is configured to accept leafnode connections, which is not the default setting. In this configuration, a malicious remote NATS server can trigger a server panic by exploiting the compression negotiation process on the leafnode port (default 7422). This vulnerability, identified as CVE-2026-29785, occurs pre-authentication, meaning an attacker does not need valid credentials. The vulnerability affects NATS server versions prior to v2.11.14 and versions between v2.12.0-RC.1 and v2.12.5. Defenders should disable compression on the leafnode port to mitigate this risk.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>The attacker identifies a NATS server with leafnode configuration enabled and compression active on port 7422.</li>
<li>The attacker establishes a connection to the leafnode port (7422) of the target NATS server.</li>
<li>The attacker initiates a compression negotiation handshake with the target server.</li>
<li>The attacker sends a crafted message during the compression negotiation, designed to exploit a vulnerability in the NATS server's compression handling logic.</li>
<li>The NATS server attempts to process the malicious compression data.</li>
<li>Due to the crafted nature of the data, the NATS server's compression library triggers a panic.</li>
<li>The NATS server process terminates abruptly due to the panic.</li>
<li>The NATS server becomes unavailable, disrupting NATS-based communication.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability results in a denial-of-service (DoS) condition. Any NATS server configured to accept leafnode connections is vulnerable. This could impact cloud, on-premise, IoT, and edge computing environments using NATS for inter-service communication. The exact number of affected systems is unknown, but the impact is significant as it can disrupt critical communication pathways.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Disable compression on the leafnode port by setting <code>compression: off</code> in the NATS server configuration file as described in the advisory to remediate CVE-2026-29785.</li>
<li>Monitor network connections to port 7422, the default leafnode port, for unexpected connection attempts from untrusted sources (refer to the IOC table).</li>
<li>Deploy the Sigma rule to detect connections to the leafnode port with unexpected client IP addresses.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>nats</category><category>denial-of-service</category><category>compression</category></item><item><title>NATS Server Pre-Authentication Denial-of-Service via Leafnode Handling</title><link>https://feed.craftedsignal.io/briefs/2024-01-03-nats-leafnode-panic/</link><pubDate>Wed, 03 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-03-nats-leafnode-panic/</guid><description>A pre-authentication denial-of-service vulnerability exists in NATS servers before versions v2.12.6 and v2.11.15, allowing a remote client connected to the leafnode port to crash the server by sending a malformed message.</description><content:encoded><![CDATA[<p>NATS.io is a high-performance open-source pub-sub distributed communication technology widely used for cloud, on-premise, IoT, and edge computing environments. NATS servers utilize &quot;leafnode&quot; connections to enable hub/spoke topologies with other NATS servers. A critical vulnerability has been discovered affecting NATS servers prior to versions v2.12.6 and v2.11.15. This flaw allows an unauthenticated client capable of connecting to the leafnode port to trigger a server panic, resulting in a denial-of-service condition. This vulnerability, identified as CVE-2026-33218, highlights the importance of securing NATS deployments and promptly applying available patches or workarounds to prevent potential service disruptions.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker identifies a vulnerable NATS server with an exposed leafnode port.</li>
<li>The attacker establishes a network connection to the leafnode port (typically 7422).</li>
<li>The attacker sends a specially crafted, malformed message to the leafnode port. This message is designed to exploit a flaw in the pre-authentication handling of leafnode connections.</li>
<li>The NATS server attempts to process the malformed message without proper validation.</li>
<li>Due to the malformed nature of the message, a panic occurs within the NATS server's code, specifically related to leafnode message processing.</li>
<li>The panic causes the NATS server process to terminate abruptly.</li>
<li>The NATS server becomes unavailable, disrupting any applications or services relying on it.</li>
<li>This denial-of-service condition persists until the NATS server is manually restarted, and further attacks can repeat the process.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this vulnerability leads to a denial-of-service condition affecting the NATS server. The impact scope depends on the criticality of the NATS server within the affected environment. Services relying on the NATS server for communication will become unavailable, potentially disrupting business operations. The vulnerability affects all environments using vulnerable NATS server instances, including cloud deployments, on-premise installations, and edge computing scenarios. Widespread exploitation could result in significant operational disruptions across various sectors relying on NATS for real-time data streaming and messaging.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Immediately upgrade NATS servers to version v2.12.6 or v2.11.15 or later to patch CVE-2026-33218.</li>
<li>If upgrading is not immediately feasible, disable leafnode support on NATS servers if it is not required, mitigating the attack vector.</li>
<li>Restrict network connections to the leafnode port (default 7422) using firewalls or network access control lists, limiting potential attackers.</li>
<li>Monitor network connections to the leafnode port for unexpected or unauthorized access attempts, using network connection logs.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>nats</category><category>denial-of-service</category><category>leafnode</category></item></channel></rss>