Portainer Community Edition versions 2.33.0 through before 2.33.8, 2.39.2, and 2.41.0 are vulnerable to arbitrary file read through symlink injection in Git-backed stack deployment and update workflows. The bundled go-git handling materializes repository blob entries marked as symbolic links as host operating-system symlinks. Apart from one specifically excluded Git metadata file, symlink paths are not validated. Portainer subsequently reads the configured stack entry-point file using an operation that follows symbolic links, returning the referenced host file contents to the authenticated requester.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
Repository contains a single Bash exploit script (exploit.sh) plus a README describing CVE-2026-44881 in Portainer CE. The exploit is a real end-to-end operational PoC, not a detector. Its purpose is to chain two issues/conditions: an exposed target .git directory used to recover low-privilege Portainer credentials, and Portainer's vulnerable Git-backed stack deployment flow where a symlinked docker-compose.yml can be cloned into the stack working tree and later read through the Portainer API. The script structure is staged: argument parsing and dependency checks; optional .git dumping via git-dumper or a built-in dumb-HTTP fallback; Portainer authentication and endpoint discovery; creation of an attacker-controlled Git repository served over git://; creation of a benign Git-backed stack; replacement of docker-compose.yml with a relative symlink to a sensitive file; triggering /api/stacks/{id}/git/redeploy; reading the leaked content from /api/stacks/{id}/file; and optional SSH login using the stolen key. The main exploit capability is arbitrary file read as the Portainer process, with practical post-exploitation demonstrated by stealing /mnt/host/root/.ssh/id_rsa and logging in as root. The repository is small, focused, and purpose-built for exploitation of vulnerable Portainer deployments in lab/authorized environments.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
6 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.