CVE-2026-33217
NixOS vulnerability analysis and mitigation

Overview

CVE-2026-33217 is an incorrect authorization vulnerability in NATS-Server (nats-io/nats-server) that allows MQTT clients to bypass Access Control List (ACL) checks for message subjects. When ACLs are configured on message subjects, they are not enforced within the $MQTT.> namespace, enabling unauthorized publish/subscribe operations. The vulnerability affects all versions of nats-server prior to 2.11.15 and versions 2.12.0 through 2.12.5. It was published on March 24, 2026, with a CVSS v3.1 base score of 7.1 (High) (GitHub Advisory, NATS Security Advisory).

Technical details

The root cause is classified as CWE-863 (Incorrect Authorization): the NATS server's ACL enforcement logic fails to apply subject-level access controls within the internal $MQTT.> namespace used to handle MQTT protocol traffic. When an MQTT client connects and interacts with subjects that would normally be restricted by ACL rules, those rules are silently bypassed because the server does not translate or enforce them in the MQTT namespace context. Exploitation requires network access and valid (but low-privileged) credentials — an authenticated MQTT client can publish to or subscribe from subjects they should not have access to. No public proof-of-concept exploit code has been identified (GitHub Advisory, Red Hat Bugzilla).

Impact

Successful exploitation allows an authenticated MQTT client to read messages from subjects they are not authorized to subscribe to (low confidentiality impact) and publish messages to subjects they are not authorized to write to (high integrity impact). This effectively renders subject-level ACL policies inoperative for MQTT clients, potentially exposing sensitive messaging data or allowing unauthorized command/control messages to be injected into NATS topics. Availability is not directly impacted. In environments using NATS for IoT, edge computing, or cloud messaging with strict access segmentation, this bypass could enable lateral movement across logical messaging boundaries (GitHub Advisory).

Exploitability

There is no evidence of active in-the-wild exploitation or publicly available proof-of-concept code as of the time of this report. The EPSS score is approximately 0.036% (11th percentile), indicating a low near-term exploitation probability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires authenticated network access (low privileges), making it less trivially exploitable than unauthenticated vulnerabilities, but the low attack complexity and network-accessible attack vector increase risk in multi-tenant or shared NATS deployments (GitHub Advisory, Feedly).

Exploitation steps

  1. Reconnaissance: Identify NATS server instances with MQTT support enabled (default MQTT port 1883/8883) using network scanning tools such as Nmap or Shodan, targeting versions prior to 2.11.15 or 2.12.6.
  2. Obtain credentials: Acquire any valid MQTT client credentials for the target NATS server — even a low-privileged account is sufficient, as the bypass does not require elevated permissions.
  3. Connect via MQTT: Establish an MQTT connection to the NATS server using a standard MQTT client (e.g., mosquitto_pub/mosquitto_sub, MQTT.js, or Paho).
  4. Bypass ACL via MQTT namespace: Attempt to publish or subscribe to subjects that are restricted by ACL rules. Because ACLs are not enforced in the $MQTT.> namespace, the server will permit these operations without authorization checks.
  5. Exfiltrate or inject data: Subscribe to restricted subjects to read sensitive messages, or publish unauthorized messages to subjects used for command/control or data pipelines, achieving unauthorized data access or integrity violation (GitHub Advisory, NATS Security Advisory).

Indicators of compromise

  • Network: MQTT connections (TCP port 1883 or 8883) from unexpected clients or IP addresses to NATS server instances; unusual volume of MQTT PUBLISH or SUBSCRIBE packets targeting subjects that should be ACL-restricted.
  • Logs: NATS server logs showing MQTT client activity on $MQTT.> namespace subjects that correspond to ACL-restricted topics; absence of ACL denial log entries for MQTT clients accessing restricted subjects (indicating the bypass is occurring silently).
  • Behavioral: MQTT clients subscribing to or publishing on subjects outside their expected operational scope; unexpected message delivery to consumers that should not have access to certain topics based on configured ACL policies.

Mitigation and workarounds

The NATS project has released patched versions 2.11.15 and 2.12.6 that correctly enforce ACL checks within the $MQTT.> namespace. Administrators should upgrade to one of these versions immediately. The vendor has confirmed there are no known workarounds for this vulnerability — disabling MQTT support entirely is the only alternative mitigation if upgrading is not immediately feasible. Organizations should also audit NATS ACL configurations and MQTT client access logs to assess whether unauthorized access may have occurred prior to patching (GitHub Advisory, NATS Security Advisory).

Community reactions

The advisory was published by philpennock on the nats-io/nats-server GitHub repository on March 24, 2026, and was quickly picked up by Red Hat's security tracking (Bugzilla) and the National Vulnerability Database. OpenSUSE also issued a security announcement referencing the vulnerability. Social media activity was limited, with a Bluesky post from cyberhub.blog noted in threat intelligence feeds. Overall community reaction has been measured, consistent with the moderate severity and lack of active exploitation (GitHub Advisory, Red Hat Bugzilla).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

nats-server

Affected

sid

nats-server: 2.12.6-1

Fixed

trixie

nats-server

Affected

Ubuntu

Unknown

devel

nats-server

Unknown

noble

nats-server

Unknown

noble (esm-apps)

nats-server

Unknown

resolute

nats-server

Unknown

resolute (esm-apps)

nats-server

Unknown

RHEL / CentOS

Affected

OpenShift

Not Affected

Alpine

Fixed

edge

nats-server: 2.12.6-r0

Fixed

v3.23

nats-server: 2.12.6-r0

Fixed

SourceThis report was generated using AI

Related NixOS vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-86738CRITICAL9.3
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026
CVE-2026-86734HIGH7.1
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026
CVE-2026-86735MEDIUM5.9
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026
CVE-2026-86737MEDIUM5.3
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026
CVE-2026-86736MEDIUM5.3
  • NixOS logoNixOS
  • snipe-it
NoYesSep 08, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management