CVE-2026-44882 json
Portainer: Kubernetes middleware continues after token validation failure, bypassing endpoint authorization
published 2026-05-14 5 mo ago modified 2026-07-21 3 mo ago also EUVD-2026-33060 , GHSA-mgq6-4x29-88r3 , GO-2026-5505
- cvss
- 8.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 27%
- public exploits
- 0
- none known
Summary
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., Portainer proxies requests to Kubernetes clusters through a middleware layer (kubeClientMiddleware) that validates the requesting user's token before forwarding traffic to the cluster. When security.RetrieveTokenData returned an error, the middleware wrote an HTTP 403 response but was missing a return statement — execution continued into the handler with a nil tokenData value. The Kubernetes endpoints sit behind Portainer's outer AuthenticatedAccess bouncer, so an attacker requires a valid Portainer session. However, a user whose secondary token validation fails in kubeClientMiddleware — for example a user without permission to access a given Kubernetes endpoint — would have their request forwarded to the cluster anyway, bypassing the authorization check. The same defect was present in both the CE and EE codebases. This vulnerability is fixed in 2.33.8.
Patch / fix
- go github.com/portainer/portainer 2.33.8
- portainer portainer 2.33.8
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260723T184607-160000.1.1
opensuse advisories openSUSE-SU-2026:21483-1
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 5 mo ago
Exploit prediction
0.34% chance of exploitation in the next 30 days, higher than 27% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/portainer/portainer/security/advisories/GHSA-mgq6-4x29-88r3 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
| GitHub | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/portainer/portainer | >=2.33.0, <2.33.8 all versions |
2.33.8 |
Affected products
- portainer portainer
Classification
- Weakness
-
- CWE-863 Incorrect Authorization
References
-
github.com
/portainer/portainer/security/advisories/GHSA-mgq6-4x29-88r3
web, exploit, third-party-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-44882
advisory
-
github.com
/portainer/portainer
package
-
github.com
/portainer/portainer/releases/tag/2.33.8
web
Sources
- CVE List CVE-2026-44882
- GitHub Advisory GHSA-mgq6-4x29-88r3
- NVD CVE-2026-44882
- OSV GO-2026-5505
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.