Junglewise Threat Intelligence

CVE-2026-44881: Portainer Community Edition arbitrary file read via Git symlink injection

CVE-2026-44881 · Severity: critical · CVSS 9.9 · Published 2026-05-28

Technologies: Portainer, Portainer Community Edition, github.com/portainer/portainer (Go). Vendors: Portainer, Go.

Executive brief

Portainer, a management tool for Docker and Kubernetes environments, is vulnerable to a flaw that allows users to read sensitive files from the server's host system. By using a specially crafted Git repository to deploy an application 'stack,' an attacker can trick the system into exposing critical data like password hashes, cloud credentials, and security tokens. This could lead to a full takeover of the managed infrastructure and the Portainer platform itself.

Technical details

A vulnerability exists in Portainer's Git-backed stack deployment mechanism where the 'go-git' library translates Git symlink entries into real OS symlinks without validation. When Portainer's 'GET /api/stacks/{id}/file' endpoint reads the stack entry point (e.g., docker-compose.yml), it uses 'os.ReadFile', which transparently follows these symlinks to targets outside the intended worktree. An attacker with permissions to create or update stacks can point a symlink to sensitive files like '/etc/shadow' or Kubernetes service account tokens. The risk is heightened by the auto-update feature, which can trigger the file read automatically upon a malicious commit to the linked repository. Patches are available in versions 2.33.8, 2.39.2, and 2.41.0.

Affected products

  • Portainer Portainer >= 2.33.0, < 2.33.8; >= 2.39.0, < 2.39.2; >= 2.40.0, < 2.41.0

Timeline

  • 2026-03-20: disclosed: Reported by b-hermes via GHSA
  • 2026-04-18: patched: Fix merged to develop branch
  • 2026-04-29: advisory: Version 2.41.0 released with fix
  • 2026-05-07: advisory: Versions 2.33.8 and 2.39.2 released with fix
  • 2026-05-14: advisory: Public advisory published

References

Related threats