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

Source: https://junglewise.ai/threats/cve-2026-44881-portainer-community-edition-arbitrary-file-read-via-git-symlink  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-05-28. Updated: 2026-06-09  
License: CC BY 4.0 with a link back

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

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.

Technologies: [github.com/portainer/portainer (Go)](https://junglewise.ai/threats/technologies/github-com-portainer-portainer), [Portainer](https://junglewise.ai/threats/technologies/portainer), [Portainer Community Edition](https://junglewise.ai/threats/technologies/portainer-community-edition). Vendors: [Go](https://junglewise.ai/threats/vendors/go), [Portainer](https://junglewise.ai/threats/vendors/portainer).

## Quick answers

**Is CVE-2026-44881 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-44881 being exploited in the wild.

**How severe is CVE-2026-44881?** Critical severity, with a CVSS score of 9.9, published 28 May 2026.

**Which products and versions are affected?** github.com/portainer/portainer (Go) SEMVER:introduced=0, SEMVER:introduced=2.33.0,fixed=2.33.8; Portainer >= 2.33.0, < 2.33.8; >= 2.39.0, < 2.39.2; >= 2.40.0, < 2.41.0; Portainer Community Edition 2.33.0 to < 2.33.8, 2.39.0 to < 2.39.2, 2.40.0 to < 2.41.0.

**Is there a fix for CVE-2026-44881?** Yes. github.com/portainer/portainer (Go): upgrade to 2.33.8 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-44881 attacked?** It is attacked over the network, in a network appliance.

**Am I affected by CVE-2026-44881?** Check whether you run github.com/portainer/portainer (Go), Portainer or Portainer Community Edition at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- github.com/portainer/portainer (Go): upgrade to 2.33.8 or later

  ```sh
  go get github.com/portainer/portainer@v2.33.8
  ```


## 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

## Identifiers

- CVE-2026-44881
- GHSA-rpgq-m5fp-32wr
- GO-2026-5633

## 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

- [https://api.github.com/users/b-hermes](https://api.github.com/users/b-hermes)
- [https://github.com/b-hermes](https://github.com/b-hermes)
- [https://api.github.com/users/b-hermes/gists%7B/gist_id%7D](https://api.github.com/users/b-hermes/gists%7B/gist_id%7D)
- [https://api.github.com/users/b-hermes/repos](https://api.github.com/users/b-hermes/repos)
- [https://avatars.githubusercontent.com/u/39487743?v=4](https://avatars.githubusercontent.com/u/39487743?v=4)
- [https://api.github.com/users/b-hermes/events%7B/privacy%7D](https://api.github.com/users/b-hermes/events%7B/privacy%7D)

## Related threats

- [Portainer Community Edition improper authentication in setup endpoints](https://junglewise.ai/threats/cve-2026-55761-portainer-community-edition-improper-authentication-in-setup)
- [Portainer Community Edition directory traversal in backup restore](https://junglewise.ai/threats/cve-2026-44885-portainer-community-edition-directory-traversal-in-backup-restore)
- [Portainer Community Edition missing authorization in custom template endpoint](https://junglewise.ai/threats/cve-2026-44884-portainer-community-edition-missing-authorization-in-custom)
- [Portainer Community Edition sensitive token leakage via URL query parameter](https://junglewise.ai/threats/cve-2026-44883-portainer-community-edition-sensitive-token-leakage-via-url-query)
- [Portainer authorization bypass in Kubernetes middleware](https://junglewise.ai/threats/cve-2026-44882-portainer-authorization-bypass-in-kubernetes-middleware)
