Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with packages permission on any namespace
-
DeliveryCraft package version with URL-encoded traversal sequences
-
ExploitResolve path to another tenant's storage location
-
ExecutionBypass filesystem containment check
-
ImpactDownload, overwrite, or delete cross-tenant packages corrupting Functions/Sources/Sinks
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires TWO non-default broker settings to be active simultaneously: package management must be explicitly enabled via enablePackagesManagement, AND the filesystem storage provider (FileSystemPackagesStorageProvider) must be selected via packagesManagementStorageProvider. Both are off by default - package management is disabled by default and the default BookKeeper storage provider is NOT affected. The attacker must be an authenticated user holding the packages permission on at least one namespace (per CVSS PR:L); authorization is checked only on tenant/namespace, so any single-namespace grant suffices to reach other tenants. If broker authentication is disabled, any client able to reach the admin REST API can exploit it without credentials. Limiting factors: dependence on the specific filesystem-provider deployment mode, requirement for at least low-privilege authenticated access in authenticated deployments, and the need for network reachability to the broker admin API. |
| Impact | This is a genuine but conditional priority, not a blanket critical. The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:N) scores 7.7 (High) and the signals are internally consistent: network-reachable via the broker admin REST API, low attack complexity (trivial URL-encoded path traversal), but with Attack Requirements Present (AT:P) because exploitation only works on a specific non-default configuration. PR:L confirms an authenticated user is required - exploitation is NOT unauthenticated unless authentication is disabled broker-wide, in which case any client reaching the admin API can abuse it. No EPSS score was provided in the input, no CISA KEV listing is present, and no public exploit code is referenced, so exploitation status is 'no public exploit identified at time of analysis.' The key risk-limiting factor is the AT:P / non-default-config dependency: both enablePackagesManagement must be enabled AND the FileSystemPackagesStorageProvider must be explicitly selected - the shipped default (BookKeeper storage, packages management disabled) is not affected. Net: real and worth patching promptly for the narrow set of deployments using filesystem package storage, but the large majority of Pulsar installs running defaults are not exposed. No conflicting signals in the provided data; the main gap is the absence of EPSS/KEV/POC telemetry, which prevents weighting of real-world attacker interest. |
| Exploit ScenarioDerived | An authenticated Pulsar user granted the packages permission on just one namespace crafts a package operation whose version component contains URL-encoded path separators and parent-directory references, causing the filesystem storage provider to resolve to a package file belonging to a different tenant or namespace. Because the resolved path still sits inside the configured storage directory, the provider's containment check passes, letting the attacker download, overwrite, or delete another tenant's packages - potentially corrupting the code backing Pulsar Functions, Sources, or Sinks. No public proof-of-concept is referenced in the provided data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 21, 2026
Apache Pulsar deployments using the filesystem packages storage provider allow an authenticated user holding packages permission on any namespace to traverse out of their authorized tenant/namespace and download, overwrite, or delete packages belonging to other tenants or namespaces. The flaw is a CWE-22 path traversal in the unvalidated package version component; exploitation requires package management to be explicitly enabled and the non-default FileSystemPackagesStorageProvider to be configured, so default BookKeeper-backed deployments are not affected. No public exploit code was identified at time of analysis, and exploitation requires at least low-privilege authenticated access unless broker authentication is disabled, in which case any client able to reach the admin REST API can perform the operations without credentials.
RemediationAI
Vendor-released patch: upgrade Apache Pulsar 4.0.x deployments to at least 4.0.14 and 4.1.x/4.2.x deployments to at least 4.2.5, as documented in the vendor advisories https://pulsar.apache.org/security/CVE-2026-105945/ and https://lists.apache.org/thread.html/o5jt8zrg1qxqdrqlb06jjmj4lzydfm2k. If upgrading is not immediately possible, disable package management by setting enablePackagesManagement to false, or switch packagesManagementStorageProvider away from FileSystemPackagesStorageProvider to the default BookKeeper provider; these workarounds remove or change package-management functionality and may make existing filesystem-stored packages unavailable until migrated. Restrict network access to the broker admin REST API to trusted clients, and ensure broker authentication is enabled, because with authentication disabled any client reaching the admin API can exploit the traversal. Revoking packages permissions from untrusted users reduces exposure but does not fully remediate the flaw, since any single-namespace packages grant is sufficient to reach other tenants and namespaces.
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 package names are composed of type, tenant, namespace, name, and version. Authorization for package operations checks only tenant and namespace, but the filesystem storage location is derived from all components, including the version. The version was not validated and could contain URL-encoded path separators and parent-directory references, causing the FileSystemPackagesStorageProvider to resolve to a package location in a different tenant or namespace. Because the resolved location remains inside the configured packages storage directory, the containment check performed by recent releases did not block access. This is CWE-22 path traversal. The broad CPE cpe:2.3:a:apache_software_foundation:apache_pulsar:*:*:*:*:*:*:*:* identifies Apache Pulsar as the affected product. The issue only applies when enablePackagesManagement is enabled and packagesManagementStorageProvider is set to FileSystemPackagesStorageProvider; package management is disabled by default and the default BookKeeper storage provider is not affected. Integrity and availability impact extends to Pulsar Functions, Sources, and Sinks that consume overwritten or deleted packages.
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:H/VA:H/SC:N/SI:L/SA:L
Network admin API with low-privilege auth (PR:L) and trivial traversal (AC:L) yields full read/overwrite/delete of packages (C/I/A:H); CVSS 3.1 cannot express the non-default-config Attack Requirement that AT:P captures in 4.0.
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
Lifecycle Timeline
2DescriptionCVE.org
The Pulsar Packages Management Service can be configured to store packages on the local filesystem of the broker by using the filesystem storage provider. Package names consist of a type, tenant, namespace, name and version. Authorization of package operations is based only on the tenant and namespace, while the storage location of a package is derived from all of these components. The version component of a package name was not validated, so it could contain URL-encoded path separators and parent directory references. The filesystem storage provider resolved such a version to a location belonging to a package in a different tenant or namespace. Because that location is inside the configured storage directory, the containment check that the filesystem storage provider performs in recent releases did not prevent the access.
An authenticated user who has the packages permission on any namespace could use this to download, overwrite or delete packages stored in other tenants or namespaces for which the user has no permission. Packages overwritten or deleted in this way may be used by Pulsar Functions, Sources or Sinks, so the issue can affect the integrity and availability of these components. If authentication is disabled, the operations are available to any client that can reach the broker's admin REST API.
This issue only affects deployments in which package management is enabled with the broker setting enablePackagesManagement and the filesystem storage provider (FileSystemPackagesStorageProvider) is configured with the setting packagesManagementStorageProvider. Package management is disabled by default, and the default storage provider, which stores packages in Apache BookKeeper, is not affected.
This issue affects Apache Pulsar versions from 2.10.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/.
Executive ViewAI
Apache Pulsar clusters configured with the non-default filesystem packages storage provider contain a path traversal flaw that allows a tenant user with routine package permissions to reach software packages owned by other tenants - reading, replacing, or deleting them and thereby breaking tenant isolation in shared or multi-tenant deployments. Clusters on the default BookKeeper-backed package storage are not exposed, and no public exploit code or vendor patch is currently available. Leadership should care because a successful abuse could corrupt or destroy artifacts other business units depend on, and the exposure is invisible until an audit or outage surfaces it.
No vendor-released patch identified at time of analysis. Until a fix ships: disable package management where it is not operationally required; if it is required, migrate package storage off FileSystemPackagesStorageProvider; enforce broker authentication and authorization and narrow the packages permission to a small trusted administrator group; restrict the admin REST API to management networks; monitor audit logs and package storage paths for traversal sequences and unexpected cross-namespace writes or deletes.
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
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 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
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-107480
GHSA-56rw-r678-mmwc
NVD
CVE.org
EPSS
Exploit-DB