CVE-2026-105927
Description
A flaw was found in the Apache Pulsar WebSocket service. When a consumer configures a dead letter policy to handle failed messages, the service verifies read permissions on the subscribed topic but fails to check write permissions on the designated dead letter topic. Because messages are forwarded using the service's internal broker credentials rather than the user's identity, an authenticated remote attacker can inject unauthorized messages into arbitrary topics or cause storage exhaustion.
Statement
This vulnerability is rated as Moderate impact because exploitation requires an authenticated client with valid consume privileges on at least one topic, and the flaw only allows message insertion rather than reading, altering, or removing existing topic data. Additionally, the affected WebSocket service is disabled by default in broker configurations (webSocketServiceEnabled=false), restricting exposure to environments that explicitly activate the feature or deploy standalone WebSocket proxies. While unauthorized message injection across namespaces can occur if the broker role used by the service has wide write permissions, target topics with mandatory schema validation reject these schema-less messages.
Understanding the Weakness (CWE)
Access Control
Technical Impact: Bypass Protection Mechanism
Access control checks for specific user data or functionality can be bypassed.
Access Control
Technical Impact: Gain Privileges or Assume Identity
Horizontal escalation of privilege is possible (one user can view/modify information of another user).
Access Control
Technical Impact: Gain Privileges or Assume Identity
Vertical escalation of privilege is possible if the user-controlled key is actually a flag that indicates administrator status, allowing the attacker to gain administrative access.
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.