Skip to main content

Apache Pulsar EUVDEUVD-2026-107471

| CVE-2026-105934 HIGH
Missing Authorization (CWE-862)
2026-10-21 apache GHSA-jmgm-7p46-gjp6
7.2
CVSS 4.0 · Vendor: apache
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as non-admin tenant user
  2. Delivery
    Target partitioned topic with lookup permission
  3. Exploit
    Send DELETE truncate admin-API request
  4. Execution
    Broker re-issues per-partition truncate under internal admin identity
  5. Impact
    Cursors advanced and retained ledgers permanently deleted

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires: (1) a valid authenticated Pulsar identity (PR:L) - not anonymous; (2) lookup permission on the target topic, which under the default authorization provider is granted by produce or consume permission on the topic or its namespace, so a user with no permissions cannot trigger it; (3) the target must be a PARTITIONED topic requested by its partitioned-topic name - non-partitioned topics and individual partitions addressed by partition name are correctly checked and not affected; and (4) the broker's own configured internal client role must be a superuser or an admin of the target tenant (the usual configuration when authorization is enabled) - if the broker's internal identity lacks that role, the per-partition truncate requests are rejected and exploitation fails. This analysis assumes the default authorization provider; custom providers may differ. Limiting factors for defenders: the caller must be authenticated and already permissioned on the topic, only partitioned topics are affected, no confidentiality impact, and exposure is reduced by restricting network access to the broker admin REST API (/admin/v2) to trusted administrative clients.

Impact

This is a genuine but bounded-impact issue rather than a top-tier emergency. The Apache-assigned CVSS 4.0 base score is 7.2 (CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N): network-reachable via the admin REST API, low attack complexity, but requiring an authenticated principal (PR:L) rather than an anonymous attacker. Impact is confined to integrity and availability (VI:H/VA:H) - permanent message/data loss and skipped backlog - with no confidentiality exposure (VC:N) and no scope change (SC:N), so it is a destructive/denial-of-data flaw, not RCE or information disclosure. No EPSS probability was provided in the input, there is no CISA KEV listing, and no public exploit code is referenced - so there is no public exploit identified at time of analysis and no evidence of active exploitation. Exploitation is further gated by two real conditions (the caller must already hold lookup/produce/consume permission on the target, and the broker's own internal client identity must be a superuser or tenant admin - the common configuration when authorization is enabled), which keeps this below the priority of an unauthenticated internet-facing bug. Net assessment: a real priority for multi-tenant Pulsar operators where lower-privileged tenants share brokers, but materially de-rated by the authentication and permission prerequisites and the absence of exploitation signals. Missing signal to note: EPSS is absent from the provided data and cannot be weighed.

Exploit ScenarioDerived

In a multi-tenant Pulsar deployment with authorization enabled, an authenticated user who holds only produce/consume (and thus lookup) permission on a partitioned topic - but is not a tenant admin - sends DELETE /admin/v2/persistent/{tenant}/{namespace}/{topic}/truncate for that partitioned topic name. Because the broker omits the tenant-admin check for partitioned-topic names and re-issues each per-partition truncate under its own superuser/admin credentials, every partition is truncated: subscription cursors jump to the topic end and eligible older ledgers are deleted, permanently discarding retained messages and unacknowledged backlog. No public exploit identified at time of analysis; the attack uses only a standard authenticated admin-API HTTP call.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 21, 2026

Truncating a partitioned topic through the Apache Pulsar broker admin REST API succeeds without the caller holding tenant admin or superuser rights, letting an authenticated user wipe consumer backlog and destroy retained data on topics they merely have lookup permission for. The broker proxies each per-partition truncate request through its own internal admin client, so the tenant-admin authorization check is evaluated against the broker's configured identity rather than the caller's, and passes whenever that internal role is a superuser or tenant admin (the usual setup when authorization is enabled). Affected releases are 2.8.0 through 4.0.13 and 4.1.0 through 4.2.4, with fixes in 4.0.14 and 4.2.5; successful exploitation requires a valid authenticated identity, lookup permission on the target, a partitioned topic addressed by its partitioned name, and a suitably privileged broker internal client, and yields high integrity and availability impact with no confidentiality impact. No CISA KEV entry or public exploit code was identified at the time of analysis, and no EPSS score was supplied.

RemediationAI

Vendor-released patch: upgrade to Apache Pulsar 4.0.14 (for 4.0.x deployments) or 4.2.5 (for 4.1.x and 4.2.x deployments), as documented at https://pulsar.apache.org/security/CVE-2026-105934/; there is no backport for the unsupported 2.8.x-3.x lines, so those installations must move to a currently supported line. If immediate upgrade is not possible, restrict network access to the broker's admin REST API path /admin/v2 to trusted administrative clients via network policy, firewall rules, or an authenticating reverse proxy - the trade-off is that legitimate administrative tooling, CI/CD automation, and monitoring integrations that rely on the admin API will also be blocked unless explicitly allowlisted, and any bypass of that perimeter restores full exposure. A secondary compensating measure is to reconfigure the broker's internal admin client role so it is neither a superuser nor a tenant admin for production tenants, which causes the per-partition truncate requests to be rejected; this is disruptive because the same internal identity is used for other broker-side administrative fan-out operations, so it should be validated in a staging environment first. Tightening topic-level produce/consume permissions is largely ineffective here, since under the default authorization provider those very permissions grant the lookup right that enables exploitation - only fully removing a principal's permissions on sensitive partitioned topics reduces its reach. Restrict truncate operations on partitioned topics to break-glass administrative workflows and audit broker logs for /truncate calls issued by non-administrative principals during the patching window.

Affected VersionsENISA

Apache Pulsar 4.1.0 <4.2.5
Apache Pulsar 2.8.0 <4.0.14

Affected Packages

euvd apache_pulsar fix: 4.0.14, 4.2.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Apache Pulsar is a distributed publish-subscribe messaging platform whose broker exposes an administrative REST surface under /admin/v2, including DELETE /admin/v2/persistent/{tenant}/{namespace}/{topic}/truncate. Truncation is a destructive lifecycle operation: it advances every subscription cursor to the end of the topic, discarding unacknowledged backlog, and deletes inactive ledgers irrespective of the namespace retention policy, while leaving the ledger currently being written intact. For non-partitioned topics, and for individual partitions addressed by partition name, the broker correctly enforces the tenant admin or superuser role against the caller. For a partitioned topic name, however, the broker fans the request out to each partition using its own internal admin client, which authenticates with the broker's configured client credentials; the per-partition authorization check therefore runs against the broker identity, not the requester. This is a classic CWE-862 Missing Authorization defect - an authorization decision made on a different principal than the one that initiated the request, effectively a confused-deputy pattern inside the broker's own fan-out path. Under the default authorization provider, lookup permission (granted by produce or consume permission on the topic or namespace) is the only caller-side prerequisite, so the flaw does not extend to users with no topic permissions, does not disclose message contents, and does not permit permission or configuration changes; custom authorization providers may yield different results. The vendor rates the issue 7.2 under CVSS 4.0 (AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H) and the independent assessment scores it 7.2 under CVSS 3.1 (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H) - both reflecting an authenticated remote attacker with high integrity and availability impact and no confidentiality impact.

Know when Apache Pulsar gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (apache) PRIMARY 7.2 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.1 HIGH

Reachable over the admin REST API (AV:N/AC:L) but requires an authenticated caller with topic lookup permission (PR:L); permanent message deletion drives I:H and A:H, with no data disclosure (C:N).

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (apache).

CVSS VectorVendor: apache

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 21, 2026 - 20:18 EUVD
CVE Published
Oct 21, 2026 - 18:08 cve.org
HIGH 7.2

DescriptionCVE.org

The Apache Pulsar broker admin REST API provides a truncate operation for persistent topics (DELETE /admin/v2/persistent/{tenant}/{namespace}/{topic}/truncate). Truncating a topic moves all subscription cursors of the topic to the end of the topic and deletes the topic's inactive ledgers. Truncating a non-partitioned topic, or a single partition addressed by its partition name, correctly requires the tenant admin role or the superuser role. When the operation is requested for the name of a partitioned topic, the broker does not apply this tenant admin check to the caller. Instead, it truncates each partition using the broker's own internal admin client, which authenticates with the broker's configured client credentials rather than the caller's identity. Each per-partition truncate request is still checked for the tenant admin role or the superuser role, but against the broker's internal identity instead of the caller. The partitions are therefore truncated only when the broker's configured client role is a superuser or an admin of the target tenant, which is the usual configuration when authorization is enabled.

As a result, when that condition holds, an authenticated user who is not a tenant admin can truncate any partitioned topic on which the user has lookup permission. Caller authentication and lookup permission alone are not sufficient: if the broker's internal identity lacks tenant admin or superuser authorization for the target tenant, the per-partition requests are rejected. With the default authorization provider, lookup permission is granted by produce or consume permission on the topic or its namespace. A user with no permissions on the topic cannot trigger the issue. This impact analysis assumes that Pulsar has been configured with the default authorization provider. For custom authorization providers, the impact could be different.

Truncating a partitioned topic this way moves the cursors of all subscriptions on every partition to the end of the topic, so any unacknowledged backlog is skipped and is no longer delivered to consumers. It also deletes eligible older ledgers of each partition regardless of the namespace's configured retention policy, so messages stored in those ledgers can be permanently lost. The ledger currently being written is not deleted by the truncate operation. The issue does not allow reading message contents or changing permissions or configuration, and it does not give access to topics on which the user has no lookup permission.

This issue affects Apache Pulsar versions from 2.8.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 can reduce exposure by restricting network access to the broker's admin REST API (/admin/v2) to trusted administrative clients.

Executive ViewAI

Why It Matters

Apache Pulsar's broker admin REST API (affected ranges 2.8.0 through 4.0.13 and 4.1.0 through 4.2.4) lets a minimally privileged account permanently truncate partitioned topics it can only look up, destroying retained messages and consumer backlog with no ability to recover them. Because the broker evaluates the authorization check against its own internal admin identity instead of the caller's, tenant separation is effectively bypassed in the common configuration where that internal client holds superuser or tenant-admin rights. Leadership should treat this as a data-destruction and multi-tenant trust issue for any team relying on Pulsar for message retention, replay, or audit evidence, not merely a configuration defect.

Business Impact: High
Compensating Controls

Vendor-released patch: fixed releases 4.0.14 and 4.2.5 are referenced in the advisory - apply vendor patch. Until upgraded: remove superuser and tenant-admin rights from the broker's internal admin client so the proxied authorization check fails closed, restrict the broker admin REST API to trusted management networks, and alert on truncate operations targeting partitioned topics.

Threat Intelligence Overview

EPSS Score
0.5%
Top 59% exploitable
Prevalence
Medium
popular distributed messaging platform, common in enterprise data infrastructure but not ubiquitous
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2026-105869 CRITICAL
9.2 Oct 21

Unauthenticated role forgery in Apache Pulsar lets a client present a forged or unsigned JSON Web Token listing arbitrar

CVE-2026-105937 HIGH
8.7 Oct 21

Missing authorization in Apache Pulsar's shadow topic feature allows an authenticated tenant administrator to bind a top

CVE-2026-105945 HIGH
7.7 Oct 21

Apache Pulsar deployments using the filesystem packages storage provider allow an authenticated user holding packages pe

CVE-2026-105942 HIGH
7.7 Oct 21

Apache Pulsar 2.8.1 through 4.0.13 and 4.1.0 through 4.2.4 can grant an authenticated low-privileged user the proxy's fu

CVE-2026-105930 MEDIUM
6.0 Oct 21

Apache Pulsar 2.8.0 through 4.2.x deployments that enable package management allow an authenticated user to read package

CVE-2026-105936 MEDIUM
5.3 Oct 21

The deprecated functions connectors endpoints (/admin/v2/functions/connectors and /admin/v3/functions/connectors) in Apa

CVE-2026-105926 MEDIUM
5.3 Oct 21

An authenticated Apache Pulsar client that holds no permission whatsoever on a target topic can read that topic's regist

CVE-2026-105935 MEDIUM
4.9 Oct 21

Authorization flaw in Apache Pulsar's Functions Worker trigger REST endpoint allows an authenticated user who holds func

CVE-2026-105938 LOW
2.3 Oct 21

Authorization bypass in Apache Pulsar (2.8.0 through 4.0.13 and 4.1.0 through 4.2.4) allows an authenticated user holdin

CVE-2026-105932 LOW
2.3 Oct 21

Missing authorization checks in the Apache Pulsar broker admin REST endpoints for non-persistent topics allow an authent

CVE-2026-105931 LOW
2.3 Oct 21

Cross-tenant information disclosure in Apache Pulsar's transaction administration REST API allows any authenticated user

CVE-2026-105927 LOW
2.3 Oct 21

Apache Pulsar's WebSocket service performs an incomplete authorization check when a WebSocket consumer supplies a dead l

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy