Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-priv tenant user
-
DeliveryCraft cross-tenant package URL
-
ExploitSubmit function/sink register or update
-
ExecutionWorker fetches package with its own credentials
-
ImpactReceive other tenant's package contents
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
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 | Requires ALL of: (1) authentication and authorization enabled on the cluster; (2) package management enabled - broker setting enablePackagesManagement and, in current releases, functions-worker setting functionsWorkerEnablePackageManagement, both disabled by default; and (3) an authenticated principal holding register/update permission for functions, sources, or sinks in at least one namespace of their own tenant. The attack is performed by supplying a package URL (including transform-function package URLs on sink registration) that references another tenant's namespace. Limiting factors: exploitation is impossible on default configurations, needs valid credentials with component-management rights, and only discloses package contents - it cannot modify or delete packages or affect availability. |
| Impact | This is a moderate, config-dependent authorization flaw (CWE-863) rather than a top-tier emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:N) and the 6.0 MEDIUM score are consistent with the description: exploitation is network-reachable but requires an authenticated user (PR:L) who already holds function/source/sink register-or-update rights, and a specific precondition must hold (AT:P - package management enabled on both broker and worker, both off by default). No EPSS score, CISA KEV entry, or public PoC was supplied, so by the precision rules there is no public exploit identified at time of analysis and no evidence of active exploitation - signals do not conflict, they simply all point to low current exploitation pressure. Impact is confidentiality-only (VC:H, VI:N, VA:N): cross-tenant disclosure of package contents that may embed source code, business logic, or credentials, with no integrity or availability effect. The main risk amplifier is the AT:P precondition being rarer than a default-config flaw, which meaningfully narrows the exposed population. Net: a real but prioritizable issue - patch during normal cycles, prioritized higher only for multi-tenant Pulsar deployments that have deliberately enabled package management. |
| Exploit ScenarioDerived | In a multi-tenant Pulsar cluster with package management enabled, an authenticated tenant A user who can register or update a function, source, or sink supplies a package URL pointing at a namespace belonging to tenant B. The functions worker authorizes the request only against tenant A's namespace and then fetches the package from the broker using the worker's own credentials, returning tenant B's package contents to the attacker. No public exploit is identified at time of analysis, but the technique requires only crafting a package URL and ordinary register/update API access. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 21, 2026
Apache Pulsar 2.8.0 through 4.2.x deployments that enable package management allow an authenticated user to read package contents belonging to another tenant by supplying a crafted package URL when registering or updating a function, source, or sink. The Functions worker validates the caller's rights only on the namespace where the component is being created, then retrieves the referenced package from the Packages Management Service using the worker's own broker credentials, so the package ACL is evaluated against the worker instead of the requesting user (CWE-863, confused deputy). Impact is limited to confidentiality - package code, business logic, or embedded credentials may be disclosed - with no modification, deletion, or availability effect; exploitation requires authentication/authorization and non-default package-management settings, and no public exploit was identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade 4.0.x deployments to at least Apache Pulsar 4.0.14 and 4.1.x or 4.2.x deployments to at least 4.2.5, per the advisory at https://pulsar.apache.org/security/CVE-2026-105930/; the currently supported release lines are 4.0.x and 5.0.x (see https://pulsar.apache.org/contribute/release-policy/), so older lines should be moved onto a patched, supported branch. Where upgrading is not immediately possible, the most effective compensating control is to keep package management disabled - ensure broker enablePackagesManagement and functions-worker functionsWorkerEnablePackageManagement remain false - accepting that functions, sources, and sinks can no longer be deployed from stored packages and must be supplied inline instead. Additionally, tighten authorization so that only trusted principals hold register/update rights on functions, sources, and sinks, since that permission is the prerequisite for the attack, and audit existing components and worker logs for package URLs that reference other tenants' namespaces as a disclosure indicator. Because the flaw permits only reads, rotating any credentials or secrets that were embedded in cross-tenant packages suspected of exposure is warranted; no package integrity or availability remediation is required.
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
The flaw is an incorrect authorization / confused-deputy pattern (CWE-863) in the Pulsar Functions worker's package-URL handling. Pulsar's package management service stores function, source, and sink packages in namespaces and enforces per-namespace package permissions; when a component is submitted with a package URL, the worker performs the fetch against that service. The worker checked only the caller's register/update permission on the namespace receiving the component and never verified the caller's package permission on the namespace named in the URL, then authenticated to the broker as itself. Consequently the Packages Management Service authorized the worker's identity rather than the user's, letting a principal with component-management rights in its own tenant pull packages from another tenant's namespace. The same path applies to transform-function package URLs supplied during sink registration or update. The issue exists only when authentication/authorization and package management are both enabled - broker setting enablePackagesManagement plus, in current releases, functions-worker setting functionsWorkerEnablePackageManagement - both off by default. Affected builds are Apache Pulsar 2.8.0 before 4.0.14, 4.1.0 through 4.1.3, and 4.2.0 before 4.2.5 (CPE: cpe:2.3:a:apache_software_foundation:apache_pulsar).
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:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable (AV:N) but requires an authenticated user with component register/update rights (PR:L); confidentiality-only cross-tenant package disclosure (C:H) with no integrity or availability impact and same security authority (S:U).
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
Lifecycle Timeline
2DescriptionCVE.org
When package management is enabled, Pulsar Functions, Sources and Sinks can be registered or updated from a package stored in the Pulsar Packages Management Service by supplying a package URL. The Pulsar Functions worker authorized these requests only against the namespace in which the component was being registered or updated. It did not check whether the requesting user was permitted to access packages in the namespace that the package URL refers to, and it retrieved the package from the broker using the worker's own credentials. The permission check of the Packages Management Service was therefore applied to the worker's identity instead of the requesting user's. Package URLs of transform functions supplied when registering or updating a sink were handled in the same way.
An authenticated user who is permitted to register or update functions, sources or sinks in any namespace of their own tenant could use this to obtain the contents of a package stored in a namespace of another tenant, without having the packages permission on that namespace. The impact is limited to disclosure of package contents, which may include application code, business logic or embedded credentials. The issue does not allow packages to be modified or deleted and does not affect availability.
This issue only affects deployments that have authentication and authorization enabled and in which package management has been enabled: the broker setting enablePackagesManagement and, in current releases, the functions worker setting functionsWorkerEnablePackageManagement. Both settings are disabled by default.
This issue affects Apache Pulsar versions from 2.8.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
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
The deprecated functions connectors endpoints (/admin/v2/functions/connectors and /admin/v3/functions/connectors) in Apa
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-107428
GHSA-mqp8-6q9x-3qcp
NVD
CVE.org
EPSS
Exploit-DB