External risk intelligence

Apache Pulsar MultiRolesTokenAuthorizationProvider Allows Unauthorized Access Via Unverified JWTs

CVE advisorySeverity: CRITICAL (CVSS 9.2)

CVE-2026-105869

The vulnerability affects Apache Pulsar's admin REST API and WebSocket API. These services are commonly deployed as network-accessible interfaces for messaging and stream processing. While specific configurations regarding anonymous user roles are required, the exposure of management and API endpoints to the network makes unauthorized access to these services a likely scenario in many real-world deployments.

Halo Surface Signal: 4 out of 5 — likely to be public-facing.

External exposure likelihood

Horizon Alert

Summary of the vulnerability and why it matters

This advisory highlights a critical security flaw in Apache Pulsar's authorization component that could allow unauthenticated access to sensitive administrative functions and data. The vulnerability arises when specific authorization and authentication settings are enabled, potentially permitting attackers to bypass security checks and gain broad control over the system, including super-user privileges, by using forged or unsigned tokens.

  • Unauthenticated access to critical controls is possible.
  • Executive takeaway: Confirm relevance and confirm exposure.
  • Leadership takeaway: Understand potential for unauthorized system control.

Attack Path

How an attacker could exploit the issue

An attacker could compromise Apache Pulsar by sending a forged or unsigned token to an unauthenticated HTTP request. This occurs when token authentication and authorization are enabled with a specific configuration that allows unauthenticated requests to fall back to an anonymous user role. The vulnerable `MultiRolesTokenAuthorizationProvider` then processes this token without verifying its signature, granting the attacker the roles specified in the token. This could lead to super-user access, allowing the attacker to manage tenants, namespaces, topics, and broker configurations.

  • Unauthenticated network access required.
  • An unverified JWT with role claims triggers the vulnerability.
  • Risk of unauthorized super-user access.

Live Threat

Current exploitation, exposure, and threat context

In deployments using the MultiRolesTokenAuthorizationProvider with a non-empty anonymous user role, unauthenticated clients could exploit a flaw in token verification to gain unauthorized access to sensitive administrative functions and data. This occurs when HTTP requests with failed authentication fall back to the anonymous user role, allowing a forged or unsigned token with arbitrary roles to authorize actions. The affected components include the broker's HTTP endpoints, such as the admin REST API, and the WebSocket API.

  • Administrative functions and configurations.
  • Unauthenticated HTTP requests to APIs.
  • Potential for super-user access and configuration changes.

Operational Fix

Recommended remediation, mitigation, and detection steps

Teams responsible for Apache Pulsar deployments, including platform and security operations, must first identify all instances of the affected technology. Confirming reachability and business criticality is essential to prioritize remediation efforts, and the accountable owner should be engaged to plan mitigation based on assessed risk.

  • Platform and security teams own the issue.
  • Verify Pulsar deployment with MultiRolesTokenAuthorizationProvider.
  • Plan risk-based remediation and vendor coordination.

Supplementary metadata

Validate whether this threat affects your internet-facing exposure.

Halo Threat Intelligence helps prioritize remediation with Halo Surface Signal and H/A/L/O context. Start exposure validation with a free external attack surface trial.

Frequently asked questions

What is Apache Pulsar and the MultiRolesTokenAuthorizationProvider?

Apache Pulsar is a distributed messaging and streaming platform designed for high-performance data processing. The MultiRolesTokenAuthorizationProvider is an optional, advanced component within Pulsar that enables fine-grained access control by allowing a single authentication token to grant multiple user roles simultaneously.

What does CWE-347 mean for CVE-2026-105869?

CWE-347 refers to Improper Verification of Cryptographic Signature. In this CVE, the vulnerability occurs because the affected authorization provider parses and trusts claims inside a JSON Web Token (JWT) without confirming the token's signature. Because it fails to check if the token was legitimately signed, the system blindly accepts any roles the token claims to have, even if those roles were manually forged by an attacker.

How does an attacker trigger this security flaw?

The flaw is triggered when an unauthenticated HTTP request is sent to the admin REST API or WebSocket API in a specific configuration. It requires that anonymous user roles are enabled as a fallback for failed authentication. The vulnerability does not trigger if you use the default PulsarAuthorizationProvider, if the anonymous user role is disabled, or when using the binary protocol, which does not process client authentication data this way.

How does Halo Surface Signal help me understand the risk?

Halo Surface Signal identifies that this vulnerability affects management interfaces like the admin REST API and WebSocket API. Because these components are frequently exposed to the network to facilitate messaging services, Halo classifies this as a likely risk. If your Pulsar configuration includes these network-accessible endpoints, you are at a higher risk of unauthorized parties accessing administrative controls.

What should I do first to address this vulnerability?

First, review your Pulsar configuration files to determine if you are using the MultiRolesTokenAuthorizationProvider and if the anonymousUserRole setting is configured. If these settings are active, evaluate whether they are necessary for your operations. If they are not required, disabling them or switching to the standard authorization provider is the most effective way to eliminate this risk.

References