CVE-2026-105927: Apache Pulsar WebSocket unauthorized message injection via dead letter topic

CVE-2026-105927 · Severity: info · Published 2026-10-21

Apache Pulsar's WebSocket service is a messaging broker component that allows clients to publish and consume messages. An authenticated user with only consumer permissions on one topic can abuse dead letter policy configuration to inject messages into arbitrary topics they should not have access to, potentially disrupting message-driven applications or poisoning data pipelines. The injected messages carry markers indicating they are dead letter messages, but their origin cannot be trusted.

Technologies: Apache Pulsar. Vendors: Apache.

Quick answers

Is CVE-2026-105927 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-105927 being exploited in the wild.
How severe is CVE-2026-105927?
Informational severity, published 21 October 2026.
Which products and versions are affected?
Apache Pulsar 2.3.0 before 4.0.14; 4.1.0 before 4.2.5.
Is there a fix for CVE-2026-105927?
Yes: fixed in 4.0.14, 4.2.5. Until then: Disable the WebSocket service if not required (webSocketServiceEnabled=false for brokers, or do not deploy a standalone WebSocket proxy). If the service is needed, restrict network access to it and limit the broker client permissions of the WebSocket service identity to only the namespaces that WebSocket clients are intended to access. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-105927 attacked?
It is attacked over the network, in a hosted service.
Am I affected by CVE-2026-105927?
Check whether you run Apache Pulsar at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • Fixed in: 4.0.14, 4.2.5

Disable the WebSocket service if not required (webSocketServiceEnabled=false for brokers, or do not deploy a standalone WebSocket proxy). If the service is needed, restrict network access to it and limit the broker client permissions of the WebSocket service identity to only the namespaces that WebSocket clients are intended to access.

Technical details

The WebSocket service fails to validate PRODUCE permission on the topic specified in the deadLetterTopic parameter; it only checks CONSUME permission on the subscribed topic. Messages are injected using the WebSocket service's own broker client identity rather than the authenticated user's identity, allowing privilege escalation. The vulnerability requires WebSocket service to be enabled (disabled by default in brokers, but the advisory notes it can also run as a standalone proxy) and affects versions 2.3.0 to 4.0.13 and 4.1.0 to 4.2.4.

Affected products

  • Apache Pulsar 2.3.0 before 4.0.14; 4.1.0 before 4.2.5

Timeline

  • 2026-10-21: disclosed

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.