CVE-2026-44848
Privileged Plugin Operations in Portainer Community Edition
Publication date: 2026-05-28
Last updated on: 2026-05-28
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| portainer | community_edition | From 2.33.0 (inc) to 2.33.8 (exc) |
| portainer | community_edition | 2.39.2 |
| portainer | community_edition | 2.41.0 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-862 | The product does not perform an authorization check when an actor attempts to access a resource or perform an action. |
Attack-Flow Graph
AI Powered Q&A
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
This vulnerability allows standard users with Docker endpoint access to execute privileged operations, including installing and enabling arbitrary Docker plugins with root privileges. This can lead to unauthorized access, modification, or disclosure of sensitive data on the host system.
Such unauthorized access and potential data compromise can negatively impact compliance with common standards and regulations like GDPR and HIPAA, which require strict controls over data confidentiality, integrity, and availability.
Until patched, the vulnerability poses a critical risk to the security posture of affected systems, potentially leading to violations of regulatory requirements concerning data protection and access controls.
Can you explain this vulnerability to me?
This vulnerability affects Portainer Community Edition versions from 2.33.0 to before 2.33.8, 2.39.2, and 2.41.0. The issue is that the Docker plugin management endpoints (/plugins/*) were not properly registered with a handler. As a result, standard users who have endpoint access could invoke privileged plugin operations directly on the underlying Docker daemon. These operations include installing and enabling plugins, which normally require higher privileges.
The vulnerability is exposed when a non-admin Portainer user (with Standard User role or any role granted endpoint-level access) has access to a Docker endpoint via Portainer's Role-Based Access Control (RBAC). This allows such users to perform actions that should be restricted to administrators.
This vulnerability has been fixed in Portainer versions 2.33.8, 2.39.2, and 2.41.0.
How can this vulnerability impact me? :
This vulnerability can have serious impacts because it allows non-admin users with endpoint access to perform privileged operations on the Docker daemon. Specifically, they can install and enable Docker plugins, which could lead to unauthorized code execution, escalation of privileges, or compromise of the containerized environment.
Such unauthorized actions could undermine the security and integrity of the container infrastructure, potentially leading to data breaches, service disruptions, or further exploitation within the environment.
What immediate steps should I take to mitigate this vulnerability?
To mitigate this vulnerability, you should upgrade Portainer Community Edition to version 2.33.8, 2.39.2, or 2.41.0 or later, where the issue has been fixed.
Additionally, review and restrict endpoint access permissions in Portainer RBAC to ensure that non-admin users do not have access to Docker endpoints that could be exploited.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by checking if your Portainer instance is running a vulnerable version (2.33.0 to before 2.33.8, 2.39.0 to 2.39.1, or 2.40.0 to 2.40.9) and if non-admin users have access to Docker endpoints.
To detect exploitation attempts or presence of unauthorized plugin installations, you can monitor HTTP requests to the /plugins/* endpoints on your Portainer server, as these endpoints were not properly protected.
Suggested commands include using network monitoring tools like curl or wget to test access to the /plugins endpoint, for example:
- curl -i -X GET http://<portainer-host>:<portainer-port>/api/plugins/
- curl -i -X POST http://<portainer-host>:<portainer-port>/api/plugins/install -d '{"PluginName":"<plugin-name>"}'
Additionally, review Portainer user roles and endpoint access permissions to ensure no standard users have Docker endpoint access.
Check the Portainer version with:
- portainer --version
Until patched, mitigate by revoking Docker endpoint access for non-admin users.