Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain any authenticated Pulsar role
-
ExploitCall /admin/v2/functions/connectors endpoint
-
ExecutionBypass missing super-user check
-
ImpactRead installed connector catalog metadata
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 that both authentication and authorization are enabled on Pulsar and that the attacker holds a valid authenticated role (PR:L); the deprecated functions connectors endpoints (/admin/v2/functions/connectors, /admin/v3/functions/connectors) must be reachable on a functions worker or on a broker running the functions worker. The flaw affects default behavior of those endpoints - no non-default feature toggle is needed. Limiting factors: unauthenticated requests are rejected outright (unless the operator has explicitly configured anonymous access with an anonymous user role, which would let anonymous callers reach it); impact is confined to disclosure of connector-type metadata, and an equivalent listing is already available to authenticated clients via the built-in sources and sinks endpoints, reducing the practical value of the leak. |
| Impact | This is a low-to-moderate priority issue that should be patched during normal maintenance rather than as an emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) and the matching CWE-862 (Missing Authorization) are internally consistent with the description: exploitation is network-reachable and low-complexity, but PR:L confirms a valid authenticated role is required, so this is not an unauthenticated internet-facing flaw. The impact metrics (VC:L, VI:N, VA:N) correctly cap this at low-confidentiality metadata disclosure with no integrity or availability effect and no scope change - the attacker cannot modify the catalog or manage connectors. No EPSS score, no CISA KEV listing, and no public POC were supplied, which is coherent with a low-severity information-disclosure issue; none of these signals conflict with the CVSS picture. The main nuance to verify is that the disclosed data is only connector-type metadata (names, descriptions, class names) and explicitly NOT configuration values, credentials, or running-instance data, and that the same source/sink definitions are already reachable by authenticated clients via the built-in sources/sinks endpoints - meaning real-world marginal risk is small. The input 'Authentication Bypass' tag overstates the issue; this is an authorization (access-control) gap for already-authenticated users, not an authentication bypass. |
| Exploit ScenarioDerived | An authenticated but low-privileged client (any valid non-super-user role, or an anonymous role if anonymous access is configured) issues a request to /admin/v2/functions/connectors or /admin/v3/functions/connectors against a functions worker or a broker running the functions worker. Because that endpoint omits the super-user check, the client receives the full connector catalog, revealing the names, descriptions, and source/sink/config class names of connectors the operator installed - including custom ones. No public exploit identified at time of analysis; exploitation is a single authenticated REST call requiring no special tooling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 21, 2026
The deprecated functions connectors endpoints (/admin/v2/functions/connectors and /admin/v3/functions/connectors) in Apache Pulsar fail to enforce the super-user authorization check that the equivalent worker connectors endpoint (/admin/v2/worker/connectors) applies, so any authenticated client can read the catalog of installed Pulsar IO connector types regardless of its role. Pulsar 2.4.1 through 4.0.13 and 4.1.0 through 4.2.4 are affected when authentication and authorization are enabled; unauthenticated requests are rejected unless the operator has explicitly configured anonymous access with an anonymous user role. Impact is confined to metadata disclosure - connector names, descriptions, and source/sink/configuration class names, not configured instances or credentials - and no public exploit code has been identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade to Apache Pulsar 4.0.14 (for 4.0.x) or 4.2.5 (for 4.1.x and 4.2.x), which apply the same super-user check to the functions connectors endpoints as the worker connectors endpoint; users on older or unsupported lines should move to one of these patched versions or a newer supported release (4.0.x or 5.0.x per https://pulsar.apache.org/contribute/release-policy/). See the advisory at https://pulsar.apache.org/security/CVE-2026-105936/ and the announcement at https://lists.apache.org/thread.html/dn0cg4l3yolw90f8rjyvv4dl7k340jkz. Where an immediate upgrade is not possible, the key compensating controls are: verify that anonymous access is not configured (no anonymous user role), since unauthenticated callers are otherwise rejected outright - enabling anonymous access is what would widen exposure to unauthenticated users, so keep it disabled; and block or restrict the /admin/v2/functions/connectors and /admin/v3/functions/connectors paths at the ingress/proxy or network layer, allowing only trusted administrative clients, with the trade-off that any legitimate tooling relying on those deprecated routes will break (non-super-user clients can instead use the built-in sources and sinks endpoints to list available connector types). Because the residual impact is limited to disclosure of connector-type metadata already partially obtainable through the built-in sources and sinks endpoints, these measures are proportionate rather than emergency-grade, and the patch should be scheduled during normal maintenance.
Affected VersionsENISA
Affected Packages
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's functions worker exposes an administrative REST API (the /admin/v2 and /admin/v3 surfaces) that is served either by a standalone functions worker or by a broker with functions enabled. Two endpoint families return the same Pulsar IO connector catalog: the worker connectors endpoint, which correctly requires super-user access when authorization is enabled, and the legacy functions connectors endpoints, which were left without that check. This is a classic CWE-862 (Missing Authorization) inconsistency: authorization logic exists in the codebase and is applied on one route but not on its deprecated sibling, producing a role-independent read primitive. The exposed catalog is populated from the worker's connectors directory and contains only connector type definitions - connector name, description, and the fully qualified source, sink, and configuration class names. It does not expose configured source/sink instances, their configuration values, or credentials, and the presence of a connector type does not imply a connector is configured or running. Notably, the same class-name information for connectors that define a source or sink class is already available to authenticated clients through the built-in sources and sinks endpoints, which further limits the incremental value of the leak. Per the supplied CPE (cpe:2.3:a:apache_software_foundation:apache_pulsar), all Pulsar packaging variants within the affected version ranges inherit the flaw.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Network REST call at low complexity but requires a valid authenticated non-super-user role (PR:L); only low-sensitivity metadata is disclosed, so C:L and I/A:N.
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
Lifecycle Timeline
2DescriptionCVE.org
The Pulsar Functions worker REST API provides two endpoints that return the catalog of Pulsar IO connectors installed on the functions worker: the worker connectors endpoint (/admin/v2/worker/connectors) and the deprecated functions connectors endpoint (/admin/v2/functions/connectors and /admin/v3/functions/connectors). When authorization is enabled, the worker connectors endpoint requires super-user access. The functions connectors endpoint, served both by the functions worker and by a broker running the functions worker, returns the same catalog without this check.
As a result, when authentication and authorization are enabled, any authenticated client can read the connector catalog through the functions connectors endpoint, regardless of the permissions granted to its role and without super-user access. Unauthenticated requests are rejected unless anonymous access is configured with an anonymous user role.
The catalog contains the connector type definitions installed in the functions worker's connectors directory: the connector name, its description, and the source, sink and configuration class names. It does not contain configured source or sink instances, their configuration values or credentials, and an installed connector type does not indicate that a connector is configured or running. The impact is limited to disclosure of this metadata, which can include the names and descriptions of custom connectors installed by the operator. The issue does not allow modifying the catalog or managing connectors. Connector definitions that have a source or sink class are also returned by the built-in sources and sinks endpoints to authenticated clients.
In fixed versions, the functions connectors endpoint applies the same checks as the worker connectors endpoint, so that it requires super-user access when authorization is enabled. Clients that are not super-users can use the built-in sources and sinks endpoints to list the available connector types.
This issue affects Apache Pulsar versions from 2.4.1 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/.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Apache Pulsar
View allUnauthenticated role forgery in Apache Pulsar lets a client present a forged or unsigned JSON Web Token listing arbitrar
Missing authorization in Apache Pulsar's shadow topic feature allows an authenticated tenant administrator to bind a top
Apache Pulsar deployments using the filesystem packages storage provider allow an authenticated user holding packages pe
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
Truncating a partitioned topic through the Apache Pulsar broker admin REST API succeeds without the caller holding tenan
Apache Pulsar 2.8.0 through 4.2.x deployments that enable package management allow an authenticated user to read package
An authenticated Apache Pulsar client that holds no permission whatsoever on a target topic can read that topic's regist
Authorization flaw in Apache Pulsar's Functions Worker trigger REST endpoint allows an authenticated user who holds func
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
Missing authorization checks in the Apache Pulsar broker admin REST endpoints for non-persistent topics allow an authent
Cross-tenant information disclosure in Apache Pulsar's transaction administration REST API allows any authenticated user
Apache Pulsar's WebSocket service performs an incomplete authorization check when a WebSocket consumer supplies a dead l
EUVD-2026-107473
GHSA-qrmf-cr66-g64f
NVD
CVE.org
EPSS
Exploit-DB