CVE-2026-55761: Portainer has Unauthenticated Restore Endpoint that Allows Admin Takeover on Uninitialized Instances
Portainer supports restoring an instance from a backup archive via the /api/restore endpoint. This endpoint is intentionally unauthenticated to allow restoring before the first admin account is created, and remains accessible for the five-minute initialization window that opens each time Portainer starts. Any unauthenticated attacker with network access to a Portainer instance that has not yet been initialised can exploit this window to replace the Portainer database with a crafted archive containing attacker-controlled credentials and gain full administrative access. The same unauthenticated setup window also exposes the administrator-account-creation endpoint (/api/users/admin/init), which an attacker can call to create the first administrator directly; the fix gates both endpoints.
The attack requires the instance to be uninitialized, reachable by the attacker, and within the five-minute window. Once that window expires without initialization, Portainer locks its API and requires a restart to re-enable setup — each restart opens a fresh window. No credentials, session tokens, or local access are required.
References
- github.com/advisories/GHSA-x626-fcwx-f5pc
- github.com/portainer/portainer/commit/49f19107cf9a3540cbe406c9eb7f24390e1af02b
- github.com/portainer/portainer/commit/d2b56efcb4e43c4168bb6688eee9f6bf22867312
- github.com/portainer/portainer/issues/2770
- github.com/portainer/portainer/releases/tag/2.39.4
- github.com/portainer/portainer/releases/tag/2.43.0
- github.com/portainer/portainer/security/advisories/GHSA-x626-fcwx-f5pc
- nvd.nist.gov/vuln/detail/CVE-2026-55761
Code Behaviors & Features
Detect and mitigate CVE-2026-55761 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →