Description
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/.
Published: 2026-10-21
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Information disclosure of schema definitions and potential disruption of producers/consumers via incompatible schema updates
Action: Patch
AI Analysis

Impact

The vulnerability arises when the Pulsar broker processes the GetSchema and GetOrCreateSchema commands over the binary protocol after only authenticating the client. It does not verify that the authenticated client has the necessary topic permissions. An attacker who can connect to the broker can therefore read the schema layout of any topic, revealing field names and types, or register a new schema version on an unrelated topic. The payload data remains confidential, but the injected schema can trigger compatibility errors for legitimate producers and consumers, potentially leading to service interruption.

Affected Systems

Apache Pulsar brokers in the Apache Software Foundation ecosystem are affected. Versions from 2.2.0 up to but excluding 4.0.14, from 4.1.0 through 4.1.3, and from 4.2.0 through 4.2.5 are vulnerable. The supported release lines 4.0.x and 5.0.x include the patched updates; users should upgrade to at least 4.0.14 on the 4.0.x line, and to at least 4.2.5 on both the 4.1.x and 4.2.x lines to remove the flaw.

Risk and Exploitability

The vulnerability carries a CVSS score of 5.3, indicating moderate overall severity. EPSS data is not available and the issue is not listed in the CISA KEV catalog, suggesting limited known exploitation. However, the flaw can be exploited over an authenticated network connection without any extra privileges, and the missing authorization check lowers the barrier to attack. Adopting the default authorization provider provides the necessary fixes, but the risk remains if custom providers are used without the same checks.

Generated by OpenCVE AI on October 22, 2026 at 02:00 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Apache Pulsar to a fixed release—v4.0.14 or later on the 4.0.x line, v4.2.5 or later on the 4.1.x and 4.2.x lines—or to any newer supported version such as 5.0.x.
  • Ensure that the default authorization provider is in use and that lookup permissions are granted only to trusted clients while produce permissions are granted strictly on a per-topic basis, thereby restoring the intended access checks for schema operations.
  • Configure monitoring or audit logging to detect unexpected schema read or write operations on sensitive topics, and use these alerts to investigate potential misuse.

Generated by OpenCVE AI on October 22, 2026 at 02:00 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 30 Oct 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 22 Oct 2026 11:00:00 +0000

Type Values Removed Values Added
First Time appeared Apache
Apache pulsar
Vendors & Products Apache
Apache pulsar

Wed, 21 Oct 2026 18:15:00 +0000

Type Values Removed Values Added
Description 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/.
Title Apache Pulsar: Missing Topic Authorization on Binary Protocol GetSchema and GetOrCreateSchema Commands
Weaknesses CWE-862
References
Metrics cvssV4_0

{'score': 5.3, 'vector': '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: apache

Published:

Updated: 2026-10-30T18:15:49.239Z

Reserved: 2026-10-06T06:28:39.284Z

Link: CVE-2026-105926

cve-icon Vulnrichment

Updated: 2026-10-30T18:14:48.597Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-21T18:17:22.490

Modified: 2026-10-30T19:18:01.100

Link: CVE-2026-105926

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T10:40:49Z

Weaknesses