Skip to main content

Apache Pulsar CVE-2026-105926

| EUVDEUVD-2026-107423 MEDIUM
Missing Authorization (CWE-862)
2026-10-21 apache GHSA-7rwq-965f-3p4j
5.3
CVSS 4.0 · Vendor: apache
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to broker with any valid credential
  2. Delivery
    Connect via custom binary-protocol client
  3. Exploit
    Send GetSchema/GetOrCreateSchema for foreign topic
  4. Execution
    Bypass missing authorization check
  5. Persist
    Disclose schema or register incompatible version
  6. Impact
    Break victim producers/consumers

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

Exploitable ONLY in Apache Pulsar deployments that have both authentication AND authorization enabled; deployments without authz are out of scope. The attacker must be an authenticated client that holds no permission on the target topic, namespace, or tenant, and must use a client that implements the binary protocol directly - the standard Pulsar client first performs an authorized topic lookup, which masks the missing check. GetSchema disclosure applies from version 2.2.0; GetOrCreateSchema registration applies from 2.5.0. Limiting factors: only schema metadata (record field names/types) is exposed - message payloads are never disclosed; the integrity/availability impact is bounded by the topic's existing schema compatibility and schema auto-update policies, and a resulting outage is administratively correctable; and this analysis assumes the default authorization provider, so custom providers may behave differently. REST API schema endpoints are not affected.

Impact

This is a genuine-but-moderate issue, not a drop-everything priority. CVSS 4.0 base score is 5.3 (Medium) with vector AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:L - network reachable and low complexity, but PR:L confirms the attacker must already hold valid broker credentials, and all impacts are rated Low. No EPSS score was provided, the CVE is not on CISA KEV, and no public exploit was supplied, so exploitation status is 'no public exploit identified at time of analysis.' The signals are internally consistent: a missing-authorization flaw (CWE-862) that requires authentication, affects only schema metadata (not message payloads), and whose worst outcome is a correctable denial of service via an incompatible schema registration. A practical limiter not captured by CVSS is that the standard Pulsar client performs an authorized topic lookup before issuing these commands, so exploitation requires a custom client that speaks the binary protocol directly - this reduces real-world opportunistic risk. The main risk is to multi-tenant Pulsar deployments where tenant isolation is a security boundary; there, cross-tenant schema disclosure and the ability to break another tenant's producers/consumers is meaningful despite the Medium score. Note the vendor set SC:N (no scope change), yet the impact crosses namespace/tenant boundaries, which some analysts would score as a scope change - this is a judgment call worth noting rather than a data conflict.

Exploit ScenarioDerived

An attacker who holds any valid broker credential (for example a low-privilege tenant user) connects to the Pulsar broker using a custom client that implements the binary protocol directly, skipping the authorized topic lookup the standard client normally performs. They issue GetSchema against a topic in a different tenant to read its schema field names and types, then issue GetOrCreateSchema to register a new, incompatible schema version on that topic, causing the legitimate producers and consumers to fail until an administrator restores the schema. No public exploit code is identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 21, 2026

An authenticated Apache Pulsar client that holds no permission whatsoever on a target topic can read that topic's registered schema and register new schema versions on topics in other namespaces or tenants, because the broker's GetSchema and GetOrCreateSchema binary-protocol commands checked only that the connection was authenticated and skipped the topic-level authorization check applied to other topic commands. Deployments are exposed only when both authentication and authorization are enabled, and practical exploitation requires a client that speaks the binary protocol directly, since the standard Pulsar client performs an authorized topic lookup first that masks the missing check (GetSchema affected from 2.2.0, GetOrCreateSchema from 2.5.0, up to the fixed 4.0.14 and 4.2.5 releases). Impact is bounded: only schema metadata such as record field names and types is disclosed (never message payloads), and unauthorized schema registration is constrained by the topic's schema compatibility and auto-update policies, though a bad schema version can break legitimate producers and consumers until an administrator corrects it. No public exploit code was identified at time of analysis, and this is a moderate, administratively correctable authorization gap rather than a drop-everything priority.

RemediationAI

Vendor-released patch: upgrade 4.0.x deployments to at least 4.0.14 and 4.1.x/4.2.x deployments to at least 4.2.5, or move to a currently supported line such as 5.0.x; the fixed brokers require lookup permission for GetSchema and produce permission for GetOrCreateSchema, closing the gap while preserving normal schema workflows for users who already hold those rights (see https://pulsar.apache.org/security/CVE-2026-105926/ and https://lists.apache.org/thread.html/45y22fqoqyfpc2hdmoct8cmgslz8ogkh). Where immediate upgrade is not possible, compensating controls include restricting network access to the broker binary-protocol port (default 6650) to trusted client hosts via firewall or network policy, at the cost of breaking legitimate external producers and consumers that connect directly rather than through a proxy; disabling schema auto-update at the namespace or topic level (isAllowAutoUpdateSchema=false) so unauthorized GetOrCreateSchema submissions cannot silently install new versions, with the trade-off that legitimate producers must have schemas registered by an administrator ahead of time; enforcing the strictest feasible schema compatibility strategy to limit the blast radius of any accepted version; and monitoring schema registry changes through the admin API or audit logging to detect unexpected registrations. Reviewing any custom AuthorizationProvider implementation is also worthwhile, since the impact analysis assumes the default provider and custom providers may enforce topic permissions differently.

Affected VersionsENISA

Apache Pulsar 4.1.0 ≤4.1.3
Apache Pulsar 2.2.0 <4.0.14
Apache Pulsar 4.2.0 <4.2.5

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 brokers speak a custom binary protocol over the default port 6650, in which clients issue commands such as Lookup, Producer, Consumer, GetSchema and GetOrCreateSchema against topics named in a tenant/namespace/topic hierarchy. Authorization in Pulsar is delegated to a pluggable AuthorizationProvider (PulsarAuthorizationProvider by default), which exposes granular canLookup, canProduce, canConsume and admin-style checks that command handlers are expected to invoke; the root cause here is CWE-862 (Missing Authorization), since the GetSchema and GetOrCreateSchema handlers invoked authentication validation but never called the provider's topic-level permission check. GetSchema returns the schema registered for a topic from the schema registry (structured type definitions, field names and types), while GetOrCreateSchema registers a new schema version for an existing topic, subject to that topic's schema compatibility strategy and schema auto-update setting. The fix aligns the commands with existing semantics by requiring lookup permission for GetSchema and produce permission for GetOrCreateSchema, meaning that even after patching, any principal with lookup rights can still read schema metadata and any principal with produce rights can still submit a schema version, consistent with how producer creation already behaves. Notably, the schema-related REST API endpoints were never affected, so the flaw is confined to the binary protocol path, and organizations using custom authorization providers may see slightly different impact than the default-provider analysis.

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 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:L
vuln.today AI 6.3 MEDIUM

Authenticated client required so PR:L; network-reachable binary command with no user interaction gives AV:N/AC:L/UI:N; schema-only disclosure and correctable schema-break yield C:L/I:L/A:L.

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

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
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
Low

Lifecycle Timeline

2
Patch available
Oct 21, 2026 - 19:18 EUVD
CVE Published
Oct 21, 2026 - 17:59 cve.org
MEDIUM 5.3

DescriptionCVE.org

The Pulsar broker serves two schema commands on its binary protocol: GetSchema, which returns the schema registered for a topic, and GetOrCreateSchema, which registers a new schema version for an existing topic. The broker handled both commands after checking only that the client connection was authenticated. Unlike the broker's other topic commands, such as those for creating producers and consumers or for looking up topics, these two commands did not check whether the authenticated client was authorized for the target topic. The Pulsar REST API endpoints for schemas were not affected.

An authenticated client without any permission on the target topic, namespace or tenant could use these commands to:

  • read the schema registered for a topic in another namespace or tenant, disclosing the schema definition such as record field names and types. Message payloads are not disclosed.
  • register a new schema version on an existing topic in another namespace or tenant. The topic's schema compatibility and schema auto-update policies still apply. The issue does not allow message data to be read or modified, but a registered schema version can cause legitimate producers and consumers of that topic to fail with schema incompatibility errors until the schema is corrected by an administrator.

The standard Pulsar client performs an authorized topic lookup before it sends these commands, so the missing check could not be observed when testing with the standard client. A client that implements the binary protocol directly is not required to perform that lookup first.

This issue is relevant only to deployments that have authentication and authorization enabled. The GetSchema command is affected from Apache Pulsar 2.2.0, and the GetOrCreateSchema command from Apache Pulsar 2.5.0. After the fix, the broker requires the lookup permission on the topic for GetSchema and the produce permission on the topic for GetOrCreateSchema. This impact analysis assumes that Pulsar has been configured with the default authorization provider. For custom authorization providers, the impact could be slightly different.

This issue affects Apache Pulsar versions from 2.2.0 before 4.0.14, from 4.1.0 through 4.1.3, and from 4.2.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/.

Threat Intelligence Overview

EPSS Score
0.4%
Top 66% exploitable
Prevalence
Medium
popular open-source event-streaming platform, common but not ubiquitous like Kafka
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Medium

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
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-105934 HIGH
7.2 Oct 21

Truncating a partitioned topic through the Apache Pulsar broker admin REST API succeeds without the caller holding tenan

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-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