CVE-2026-44883
Undergoing Analysis Undergoing Analysis - In Progress
Authentication Token Exposure in Portainer Community Edition

Publication date: 2026-05-28

Last updated on: 2026-05-28

Assigner: GitHub, Inc.

Description
Portainer Community Edition is a lightweight service delivery platform for containerized applications that can be used to manage Docker, Swarm, Kubernetes and ACI environments. From 2.33.0 to before 2.33.8, 2.39.2, and 2.41.0, Portainer's authentication middleware accepts JWT bearer tokens passed as the ?token=<JWT> URL query parameter on any authenticated API endpoint, in addition to the standard Authorization: Bearer header. URLs are recorded in reverse-proxy access logs, browser history, and HTTP Referer headers on outbound navigation, so any JWT passed this way can be harvested by anyone with access to those logs or by an external site the user subsequently visits. A leaked token grants the full privileges of the user it was issued to, until the token expires (default 8 hours, configurable). The ?token= parameter was used by Portainer's browser-based container attach, exec, and pod shell features, so any user with exec or attach rights on a container was exposed β€” not only administrators. This vulnerability is fixed in 2.33.8, 2.39.2, and 2.41.0.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-05-28
Last Modified
2026-05-28
Generated
2026-05-29
AI Q&A
2026-05-29
EPSS Evaluated
N/A
NVD
Affected Vendors & Products
Showing 3 associated CPEs
Vendor Product Version / Range
portainer community_edition to 2.33.8 (exc)
portainer community_edition 2.39.2
portainer community_edition 2.41.0
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-598 The web application uses the HTTP GET method to process a request and includes sensitive information in the query string of that request.
Attack-Flow Graph
AI Powered Q&A
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

This vulnerability allows JWT bearer tokens to be exposed through URL query parameters, which can be logged in reverse-proxy access logs, browser history, and HTTP Referer headers. Such exposure can lead to unauthorized access to user privileges until the token expires.

The leakage of authentication tokens could result in unauthorized access to sensitive data or systems, potentially violating data protection requirements under regulations like GDPR and HIPAA that mandate strict controls on access to personal and health information.

Therefore, this vulnerability may negatively impact compliance with standards that require secure handling of authentication credentials and protection of user data.


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 Portainer's authentication middleware accepts JWT bearer tokens passed as a URL query parameter (?token=<JWT>) on any authenticated API endpoint, in addition to the standard Authorization: Bearer header.

Because URLs containing the token are recorded in reverse-proxy access logs, browser history, and HTTP Referer headers, the JWT tokens can be exposed to anyone with access to these logs or to external sites visited by the user afterward.

A leaked token grants the full privileges of the user it was issued to until the token expires (default 8 hours). The ?token= parameter was used by Portainer's browser-based container attach, exec, and pod shell features, exposing any user with exec or attach rights on a container, not just administrators.

This vulnerability has been fixed in versions 2.33.8, 2.39.2, and 2.41.0.


How can this vulnerability impact me? :

If exploited, this vulnerability can lead to unauthorized access to user accounts by leaking JWT tokens through logs, browser history, or HTTP Referer headers.

An attacker who obtains a leaked token can gain the full privileges of the user associated with that token until it expires, potentially allowing them to execute commands or attach to containers.

This means that users with exec or attach rights on containers, not just administrators, are at risk of having their sessions hijacked, which could lead to unauthorized actions within the containerized environment.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability involves JWT bearer tokens being passed as a ?token=<JWT> URL query parameter on authenticated API endpoints, which can be logged in reverse-proxy access logs, browser history, and HTTP Referer headers.

To detect this vulnerability on your network or system, you can inspect your reverse-proxy access logs and web server logs for URLs containing the ?token= parameter.

  • Use grep or similar tools to search logs for '?token=' strings, for example: grep '\?token=' /var/log/nginx/access.log
  • Check browser history or HTTP Referer headers for URLs containing the ?token= parameter.

Additionally, review API endpoint usage to identify if any requests are passing JWT tokens via URL parameters instead of the Authorization header.


What immediate steps should I take to mitigate this vulnerability?

The vulnerability is fixed in Portainer Community Edition versions 2.33.8, 2.39.2, and 2.41.0.

  • Upgrade Portainer Community Edition to version 2.33.8 or later, or to 2.39.2 or 2.41.0 as applicable.
  • Avoid passing JWT tokens via the ?token= URL query parameter; use the standard Authorization: Bearer header instead.
  • Review and restrict user permissions to limit who can use exec or attach rights on containers, as these users are exposed.
  • Clear or secure reverse-proxy access logs and browser histories that may contain leaked tokens.

Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart