Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-105927— Apache Pulsar: Improper authorization of WebSocket consumer dead letter topic allows writes without PRODUCE permission

Quick assessment

Affected
Apache Software Foundation Apache Pulsar
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Apache Pulsar 的 WebSocket 服务允许 WebSocket 消费者通过消费者端点的查询参数配置死信策略(dead letter policy),其中包括 参数,用于指定在消息重投次数超过上限后应将消息写入的目标主题。当启用授权时,WebSocket 服务仅验证连接用户是否对订阅的主题拥有 CONSUME(消费)权限,却未检查该用户是否对 参数中指定的主题拥有 PRODUCE(生产)权限。随后,死信消息将由 WebSocket 服务以其自身的 Broker 客户端身份(而非连接用户的身份)写入。

CVSS 2.3 · Low

Affected Version Matrix 2

VendorProduct Version RangeStatus
Apache Software Foundation Apache Pulsar 2.3.0< 4.0.14 affected
4.1.0< 4.2.5 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-105927

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Apache Pulsar: Improper authorization of WebSocket consumer dead letter topic allows writes without PRODUCE permission
Source: CVE Program / CVE List V5
Vulnerability Description
The Apache Pulsar WebSocket service allows a WebSocket consumer to configure a dead letter policy through query parameters of the consumer endpoint, including the deadLetterTopic parameter that names the topic to which messages are written after the maximum number of redeliveries is exceeded. When authorization is enabled, the WebSocket service checks only that the connecting user holds the CONSUME permission on the subscribed topic. It does not check whether the user holds the PRODUCE permission on the topic named in deadLetterTopic. The dead letter messages are then written by the WebSocket service using its own broker client identity rather than the identity of the connecting user. As a result, an authenticated user who holds the CONSUME permission on at least one topic can cause messages to be written to a topic of their choosing in any existing namespace, including namespaces belonging to other tenants, provided the role used by the WebSocket service to connect to the brokers is authorized to produce to that topic and the topic accepts a producer that registers no schema. The dead letter producer created by the WebSocket service registers no schema, so it is rejected when the target topic has a schema and schema validation is enforced for that topic or its namespace; this setting is not enabled by default. The same user is refused when attempting to produce to that topic directly. Where automatic topic creation is enabled, which is the default, the named topic is created if it does not already exist. The issue can only be triggered when the WebSocket service is enabled, either in the broker (webSocketServiceEnabled, which is disabled by default) or as a standalone WebSocket proxy. The impact is unauthorized injection of messages into topics the user is not permitted to produce to. The user can determine the content of the injected messages when they also control the messages on the subscribed topic. The issue does not allow reading, modifying or deleting existing messages in the target topic. Injected messages carry the dead letter message properties and a dead letter producer name, so they can be distinguished from messages produced normally; however, the values of these properties are not authenticated and should not be relied upon to establish the origin of a message. Whether an injected message has further consequences depends on how the applications consuming the target topic process it. Repeated injection also consumes storage and backlog capacity in the target namespace. This issue affects Apache Pulsar versions from 2.3.0 before 4.0.14 and from 4.1.0 before 4.2.5. - 4.0.x version users should upgrade to at least 4.0.14. - 4.1.x and 4.2.x version users should upgrade to at least 4.2.5. Users operating versions prior to those listed above should upgrade to the aforementioned patched versions or newer versions. The currently supported Apache Pulsar release lines are 4.0.x and 5.0.x. The supported versions schedule is available at https://pulsar.apache.org/contribute/release-policy/. Users who cannot upgrade immediately and do not require the WebSocket service should disable it. Where the WebSocket service is required, restricting network access to it and limiting the permissions granted to the role the WebSocket service uses to connect to the brokers to the namespaces WebSocket clients are intended to access reduces the exposure.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
授权机制不正确
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
Apache Software Foundation Apache Pulsar 2.3.0 ~ 4.0.14 -

II. Public POCs for CVE-2026-105927

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-105927

请登录查看更多情报信息。

Vendor Advisories for CVE-2026-105927 (1)

Mailing List Discussions for CVE-2026-105927 (1)

Same Patch Batch · Apache Software Foundation · 2026-10-21 · 69 CVEs total

CVE-2026-105944 10.0 CRITICAL Apache Pulsar Manager: Missing authentication and authorization and disclosure of the Puls
CVE-2026-111812 10.0 CRITICAL Apache Traffic Server: origin_server_auth signs client-controlled AWS headers under the pr
CVE-2026-111813 10.0 CRITICAL Apache Traffic Server: magick plugin passes client query strings unfiltered to ImageMagick
CVE-2026-111815 10.0 CRITICAL Apache Traffic Server: TLS session ticket resumption bypasses per-SNI verify_client STRICT
CVE-2026-111814 10.0 CRITICAL Apache Traffic Server: Default server_session_sharing.match omits MASK_CERT, allowing pool
CVE-2026-111809 9.3 CRITICAL Apache Traffic Server: HEAD requests carrying Content-Length or Transfer-Encoding enable r
CVE-2026-111816 9.3 CRITICAL Apache Traffic Server: A malformed 302 response bypasses parse-error rejection through the
CVE-2026-105869 9.2 CRITICAL Apache Pulsar: MultiRolesTokenAuthorizationProvider uses roles from unverified tokens for
CVE-2026-111811 9.0 CRITICAL Apache Traffic Server: tsmemcache plugin exposes the shared proxy cache over the network w
CVE-2025-31699 8.9 HIGH Apache Traffic Server: Origin connection still owed a request body is reused, enabling req
CVE-2026-105937 8.7 HIGH Apache Pulsar: Missing authorization of the shadow topic source allows cross-tenant messag
CVE-2025-55702 8.7 HIGH Apache Traffic Server: An unread Expect: 100-continue request body is framed as a new requ
CVE-2026-111808 8.6 HIGH Apache Traffic Server: HTTP/2 DATA frame padding underflow lets a client trigger backend w
CVE-2026-111805 8.6 HIGH Apache Traffic Server: HTTP/2 Content-Length truncation lets a client trigger backend work
CVE-2026-111804 8.2 HIGH Apache Traffic Server: wasm plugin has a use-after-free and forwards unvalidated guest met
CVE-2026-105945 7.7 HIGH Apache Pulsar: Improper Validation of Package Name Components Allows Cross-Tenant Package
CVE-2026-105942 7.7 HIGH Apache Pulsar: Original principal of proxied requests authorized with the proxy's authenti
CVE-2026-111810 7.5 HIGH Apache Traffic Server: Unthrottled per-header diagnostic logging enables a log-flood denia
CVE-2026-105934 7.2 HIGH Apache Pulsar: Missing tenant admin authorization check when truncating a partitioned topi
CVE-2026-105930 6.0 MEDIUM Apache Pulsar: Improper Authorization of Function, Source and Sink Package URLs Allows Cro

Showing top 20 of 69 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2026-105927

No comments yet


Leave a comment