{"answers":{"affected":"3 open source packages ship an affected version, including github.com/portainer/portainer. It affects 1 product.","exploited":"There is no known exploitation of CVE-2026-44882 in the wild and no public exploit code.","fix":"Upgrade github.com/portainer/portainer to 2.33.8 or later.","what":"CVE-2026-44882 is a high-severity missing authorization vulnerability in portainer, published on 28 May 2026. Any signed-in user can exploit it over the network, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-44882 and fix it if it is affected.\n\nWhat it is: CVE-2026-44882 is a high-severity missing authorization vulnerability in portainer, published on 28 May 2026. Any signed-in user can exploit it over the network, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-44882 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- github.com/portainer/portainer (Go): affected all versions; no fix listed\n- github.com/portainer/portainer (Go): affected from 2.33.0; fixed in 2.33.8\n- github.com/portainer/portainer (Go): affected from 2.33.0; fixed in 2.33.8\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-44882/ (Markdown: https://insights.sbomify.com/CVE-2026-44882/index.md)","id":"CVE-2026-44882","markdown":"https://insights.sbomify.com/CVE-2026-44882/index.md","name":"CVE-2026-44882","record":{"aliases":["GHSA-mgq6-4x29-88r3","GO-2026-5505"],"analysis":{"component_type":"container_or_infrastructure","fix_type":"upgrade","impacts":["security_bypass"],"network_reachable":"yes","non_default_config":false,"product_category":"Container management platform","requires_auth":"low_privilege","summary":"Attackers with valid sessions can bypass Kubernetes endpoint authorization checks due to a missing return statement in middleware, allowing unauthorized access to clusters.","user_interaction":"not_required","vuln_class":"missing_authorization"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"portainer","vendor":"portainer"}],"cvss":{"score":8.1,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","version":"3.1"},"cwes":[{"id":"CWE-863","name":"Incorrect Authorization"}],"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., 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.","ecosystems":["Go"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"Portainer: Kubernetes middleware continues after token validation failure, bypassing endpoint authorization","id":"CVE-2026-44882","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"Go","product":null,"products":[],"type":"missing_authorization","year":"2026"},"n_packages":3,"n_references":1,"next":{"headline":"Portainer: JWT accepted in URL query leaks tokens to logs and referers","id":"CVE-2026-44883"},"packages":[{"ecosystem":"Go","fixed":[],"introduced":["0"],"last_affected":[],"package":"github.com/portainer/portainer","purl":"pkg:golang/github.com/portainer/portainer","source":"GO-2026-5505"},{"ecosystem":"Go","fixed":["2.33.8"],"introduced":["2.33.0"],"last_affected":[],"package":"github.com/portainer/portainer","purl":null,"source":"GHSA-mgq6-4x29-88r3"},{"ecosystem":"Go","fixed":["2.33.8"],"introduced":["2.33.0"],"last_affected":[],"package":"github.com/portainer/portainer","purl":"pkg:golang/github.com/portainer/portainer","source":"GHSA-mgq6-4x29-88r3"}],"prev":{"headline":"Portainer: Arbitrary File Read via Git Symlink Injection in Stack Auto-Update","id":"CVE-2026-44881"},"products":["portainer"],"published":"2026-05-28","related":[{"cvss_score":9.9,"headline":"Missing authorization in n/a","id":"CVE-2019-16872","kev_date_added":null,"published":"2019-11-07"},{"cvss_score":9.8,"headline":"Missing authorization in n/a","id":"CVE-2022-24961","kev_date_added":null,"published":"2022-02-11"},{"cvss_score":9.8,"headline":"Missing authorization in n/a","id":"CVE-2020-24264","kev_date_added":null,"published":"2021-03-16"},{"cvss_score":9.8,"headline":"Information disclosure in n/a","id":"CVE-2018-19466","kev_date_added":null,"published":"2019-03-27"},{"cvss_score":9.8,"headline":"Auth bypass in n/a","id":"CVE-2018-19367","kev_date_added":null,"published":"2018-11-20"},{"cvss_score":9.8,"headline":"Server-side request forgery in n/a","id":"CVE-2018-12678","kev_date_added":null,"published":"2018-06-22"},{"cvss_score":9.4,"headline":"Portainer: Missing authorization on Docker plugin endpoints allows host RCE","id":"CVE-2026-44848","kev_date_added":null,"published":"2026-05-28"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"Go Vulnerability Database","prefix":"GO"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"total"},"state":"PUBLISHED","updated":"2026-05-30","vendors":["portainer"]},"summary":"Attackers with valid sessions can bypass Kubernetes endpoint authorization checks due to a missing return statement in middleware, allowing unauthorized access to clusters.","url":"https://insights.sbomify.com/CVE-2026-44882/"}