PatchSiren cyber security CVE debrief
CVE-2026-44881 portainer CVE debrief
Portainer Community Edition versions 2.33.0 through 2.33.7, 2.39.x before 2.39.2, and 2.41.0 contain a path traversal vulnerability via symlink following. The application uses go-git v5 to clone Git repositories for stack deployment, which creates OS-level symlinks for Git blob entries with mode 0o120000. Only .gitmodules is blocked; all other paths become symlinks without validation. The GET /api/stacks/{id}/file endpoint uses os.ReadFile, which follows symlinks transparently. An authenticated user with rights to create or update Git-backed stacks (default in Portainer CE) can craft a repository with docker-compose.yml as a symlink pointing to arbitrary filesystem paths, causing the target file contents to be returned in HTTP responses. This allows arbitrary file read access with the privileges of the Portainer process.
- Vendor
- portainer
- Product
- Unknown
- CVSS
- HIGH 8.5
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-05-28
- Original CVE updated
- 2026-07-21
- Advisory published
- 2026-05-28
- Advisory updated
- 2026-07-21
Who should care
Organizations running Portainer Community Edition versions 2.33.0-2.33.7, 2.39.x before 2.39.2, or 2.41.0 with Git-backed stack deployment enabled; security teams managing container orchestration platforms; DevOps engineers with stack management privileges
Technical summary
The vulnerability exists in Portainer CE's Git-backed stack deployment feature. When cloning repositories, go-git v5 translates Git symlinks (mode 0o120000) to OS symlinks without adequate validation. The stack file retrieval endpoint follows these symlinks using os.ReadFile, enabling authenticated users to read arbitrary files accessible to the Portainer process by crafting malicious Git repositories with symlinked compose files.
Defensive priority
HIGH
Recommended defensive actions
- Upgrade Portainer Community Edition to version 2.33.8, 2.39.2, or 2.41.0 or later
- Restrict Git-backed stack creation and update privileges to administrative users only
- Implement repository content validation before stack deployment
- Monitor for suspicious stack creation or update activities involving external Git repositories
- Review access logs for unexpected file access patterns via the /api/stacks/{id}/file endpoint
Evidence notes
Vulnerability confirmed via GitHub Security Advisory GHSA-rpgq-m5fp-32wr. CVSS 4.0 vector: AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:H. CWE-59 (Improper Link Resolution Before File Access) and CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) identified. Fixed versions: 2.33.8, 2.39.2, 2.41.0.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-44881 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-44881
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-44881 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-44881
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://github.com/portainer/portainer/security/advisories/GHSA-rpgq-m5fp-32wr
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.