This release includes 9 security fixes for security teams reviewing exposed deployments.
Topics
+2 more
Affected surfaces
ReleasePort's take
Moderate signalPortainer 2.42.0 patches multiple dependency CVEs (golang.org/x/net, go-git, in-toto-golang, Azure/go-ntlmssp, prometheus) and fixes path traversal; removes legacy CSRF fallback feature flag.
Why it matters: Upgrade to patch CVE exposure in critical dependencies. Test CSRF validation enforcement before deploying; legacy CSRF fallback removed.
Summary
AI summaryUpdates Bug fixes, New and improved features, and Security improvements across a mixed release.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | Medium |
Fixed Docker exec endpoint to enforce container resource controls. Fixed Docker exec endpoint to enforce container resource controls. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Security | Medium |
Fixed URL path rewriting to clear RawPath field, preventing path traversal. Fixed URL path rewriting to clear RawPath field, preventing path traversal. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Security | Medium |
Authentication cookies now have Secure attribute set over HTTPS. Authentication cookies now have Secure attribute set over HTTPS. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Security | Medium |
Fixed Docker proxy to enforce resource controls on WebSocket endpoint. Fixed Docker proxy to enforce resource controls on WebSocket endpoint. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Security | Medium |
Upgraded golang.org/x/net to v0.54.0 addressing CVE-2026-27141 and CVE-2026-33814. Upgraded golang.org/x/net to v0.54.0 addressing CVE-2026-27141 and CVE-2026-33814. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Security | Medium |
Upgraded github.com/go-git/go-git/v5 to v5.19.0 addressing multiple CVEs and GHSA. Upgraded github.com/go-git/go-git/v5 to v5.19.0 addressing multiple CVEs and GHSA. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Security | Medium |
Upgraded github.com/in-toto/in-toto-golang to v0.11.0 addressing GHSA-pmwq-pjrm-6p5r. Upgraded github.com/in-toto/in-toto-golang to v0.11.0 addressing GHSA-pmwq-pjrm-6p5r. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Security | Medium |
Upgraded github.com/Azure/go-ntlmssp to v0.1.1 addressing CVE-2026-32952. Upgraded github.com/Azure/go-ntlmssp to v0.1.1 addressing CVE-2026-32952. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Security | Medium |
Upgraded github.com/prometheus/prometheus to v0.311.3 addressing multiple CVEs and GHSA. Upgraded github.com/prometheus/prometheus to v0.311.3 addressing multiple CVEs and GHSA. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Security | Medium |
Enforces resource controls on Docker proxy WebSocket /containers/{id}/attach/ws endpoint. Enforces resource controls on Docker proxy WebSocket /containers/{id}/attach/ws endpoint. Source: granite4.1:30b@2026-05-21-audit Confidence: low |
— |
| Breaking | Medium |
Removal of legacy CSRF fallback feature flag. Removal of legacy CSRF fallback feature flag. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Added support for volumes-only mount paths in the agent. Added support for volumes-only mount paths in the agent. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Added theme selector to the user menu for light, dark, and high-contrast themes. Added theme selector to the user menu for light, dark, and high-contrast themes. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Added GitOps sources list view and source detail view for managing Git sources. Added GitOps sources list view and source detail view for managing Git sources. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Added connectivity test before adding edge environments. Added connectivity test before adding edge environments. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Added Docker host disk usage display to the host details view. Added Docker host disk usage display to the host details view. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Added link ability between Kubernetes secrets and service account image pull secrets. Added link ability between Kubernetes secrets and service account image pull secrets. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Added pod restart and pod delete support on the Kubernetes application details page. Added pod restart and pod delete support on the Kubernetes application details page. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Performance | Medium |
Ported Swarm stack deployments to use libstack, eliminating embedded Docker binary. Ported Swarm stack deployments to use libstack, eliminating embedded Docker binary. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Fixed stack deployments hanging due to deadlock during ECR token refresh. Fixed stack deployments hanging due to deadlock during ECR token refresh. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Fixed stack images being pulled in parallel causing rate-limiting failures. Fixed stack images being pulled in parallel causing rate-limiting failures. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Fixed editing a private git stack requiring re-entering credentials due to form validation issues. Fixed editing a private git stack requiring re-entering credentials due to form validation issues. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Fixed re-pull and redeploy operation to use compose service for image pulling. Fixed re-pull and redeploy operation to use compose service for image pulling. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Fixed GitOps polling stopping permanently after a deployment error. Fixed GitOps polling stopping permanently after a deployment error. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Fixed kubectl-shell-image flag only taking effect on first Portainer run. Fixed kubectl-shell-image flag only taking effect on first Portainer run. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Fixed TLS configuration being accepted for Edge Agent environments via API. Fixed TLS configuration being accepted for Edge Agent environments via API. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Fixed Chisel panic caused by a negative WaitGroup counter. Fixed Chisel panic caused by a negative WaitGroup counter. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Fixed GitOps auto-update skipping re-deployment when commit hash persisted before deploy attempt. Fixed GitOps auto-update skipping re-deployment when commit hash persisted before deploy attempt. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Fixed “Stack ID required” error appearing when viewing logs for non-stack containers. Fixed “Stack ID required” error appearing when viewing logs for non-stack containers. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Bugfix | Low |
Restores GitOps polling after a deployment error, preventing permanent stoppage. Restores GitOps polling after a deployment error, preventing permanent stoppage. Source: granite4.1:30b@2026-05-21-audit Confidence: low |
— |
| Bugfix | Low |
Applies kubectl-shell-image flag on every Portainer restart, not just the first run. Applies kubectl-shell-image flag on every Portainer restart, not just the first run. Source: granite4.1:30b@2026-05-21-audit Confidence: low |
— |
| Refactor | Medium |
Replaced Kubernetes Volume view with three new tables for PV, PVC, SC. Replaced Kubernetes Volume view with three new tables for PV, PVC, SC. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Refactor | Medium |
Improved Application Container list, separating pod info from containers list. Improved Application Container list, separating pod info from containers list. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
Full changelog
Known issues
- On Async Edge environments, an invalid update schedule date can be displayed when browsing a snapshot.
Known issues with Podman support
- Support for only CentOS 9, Podman 5 rootful.
Changes
Breaking changes
Changes to the CSRF protection implementation may cause failures when upgrading:
- Removal of legacy CSRF fallback (scheduled). The legacy-csrf feature flag, introduced in 2.41 as a temporary migration aid, has been removed as scheduled. Users still relying on this flag must resolve any CSRF configuration issues before upgrading (see the 2.41 breaking changes for details). This change also resolves CVE-2025-47909.
New and improved features
- Added theme selector to the user menu, allowing switching between light, dark, and high-contrast themes without navigating to settings.
- Added GitOps sources list view and source detail view for managing Git sources used in deployments.
- Added a connectivity test before adding edge environments.
- Added Docker host disk usage display to the host details view.
- Replaced Kubernetes Volume view with 3 new tables for PV, PVC, SC (PersistentVolumes, PersistentVolumeClaims, StorageClasses).
- Added link ability between Kubernetes secrets and service account image pull secrets for private registry access.
- Added pod restart and pod delete support on the Kubernetes application details page.
- Improved Application Container list, separated pod info from containers list.
- Ported Swarm stack deployments to use libstack, eliminating the embedded Docker binary from CE/BE images.
- Added support for volumes-only mount paths in the agent, enabling environments where Docker volumes are accessible via non-default mount paths.
- Added missing snapshot collection for Edge Agents with long running Chisel connections.
Security improvements
- Fixed Docker exec endpoint to enforce container resource controls, preventing unauthorized exec access to containers.
- Fixed Docker proxy to enforce resource controls on /containers/{id}/attach/ws WebSocket endpoint.
- Fixed URL path rewriting to clear the RawPath field, preventing path traversal via percent-encoded paths.
- Changed a default setting to enforce server-side EdgeID on first connection.
- Authentication cookies now have the Secure attribute set automatically when Portainer is accessed over HTTPS.
- Upgraded golang.org/x/net to v0.54.0 to address CVE-2026-27141 and CVE-2026-33814.
- Upgraded github.com/go-git/go-git/v5 to v5.19.0 to address CVE-2026-34165, GHSA-3xc5-wrhm-f963, and CVE-2026-33762.
- Upgraded github.com/in-toto/in-toto-golang to v0.11.0 to address GHSA-pmwq-pjrm-6p5r.
- Upgraded github.com/Azure/go-ntlmssp to v0.1.1 to address CVE-2026-32952.
- Upgraded github.com/prometheus/prometheus to v0.311.3 to address CVE-2026-40179, GHSA-fw8g-cg8f-9j28, and CVE-2026-42151.
Bug fixes
- Fixed TLS configuration being accepted for Edge Agent environments via API (TLS is now correctly rejected for Edge Agent environment creation and updates).
- Fixed stack deployments hanging due to deadlock during ECR token refresh under concurrent stack deployments.
- Fixed Chisel panic caused by a negative WaitGroup counter.
- Fixed stack images being pulled in parallel causing rate-limiting failures; images are now pulled sequentially and COMPOSE_PARALLEL_LIMIT is respected.
- Fixed GitOps polling stopping permanently after a deployment error; auto-update now resumes correctly on subsequent polling cycles.
- Fixed GitOps auto-update skipping re-deployment when the commit hash was persisted before the deployment attempt; the hash is now only written after the deploy status is saved.
- Fixed an issue where editing a private git stack required re-entering credentials due to incorrect form validation and missing stack ID in gitops API calls.
- Fixed “Stack ID required” error appearing when viewing logs for containers not part of a stack.
- Fixed re-pull and redeploy operation to use the compose service for image pulling.
- Fixed kubectl-shell-image flag only taking effect on the first Portainer run; the flag is now re-applied on each restart.
- Fixed Kubernetes application edit buttons not working for Git-managed applications.
- Fixed effective access viewer not including policies when calculating user access.
- Fixed volume browsing failure when Docker data root is set to a non-default path.
- Fixed incorrect OS labels for edge agent and Docker API environments (Linux/Windows labels now aligned).
- Fixed change confirmation dialog incorrectly appearing during Helm deployment creation.
- Fixed Edge environment URLs displayed on the home page incorrectly showing the Portainer server URL; the URL is now hidden on the list view and the server/tunnel URLs are shown on the environment detail panel instead.
- Fixed environments with unknown version incorrectly showing as “outdated”.
- Fixed dropdown menus in the Omni wizard being hidden behind the sticky footer.
- Fixed missing icon in the host details view.
- Fixed sidebar parent menu items appearing misaligned.
- Fixed age filter on the home page not persisting across page reloads.
- Fixed Edge environment creation failing for CE users.
Deprecated and removed features
Deprecated features
None.
Removed features
- Removed OpenAMT integration.
Breaking Changes
- Removal of legacy CSRF fallback (legacy-csrf feature flag) causing upgrade failures if not resolved before updating.
Security Fixes
- CVE-2025-47909 – Removal of legacy CSRF fallback resolves vulnerability.
- CVE-2026-27141 – Upgraded golang.org/x/net to v0.54.0.
- CVE-2026-33814 – Upgraded golang.org/x/net to v0.54.0.
- CVE-2026-34165, GHSA-3xc5-wrhm-f963, CVE-2026-33762 – Upgraded github.com/go-git/go-git/v5 to v5.19.0.
- GHSA-pmwq-pjrm-6p5r – Upgraded github.com/in-toto/in-toto-golang to v0.11.0.
- CVE-2026-32952 – Upgraded github.com/Azure/go-ntlmssp to v0.1.1.
- CVE-2026-40179, GHSA-fw8g-cg8f-9j28, CVE-2026-42151 – Upgraded prometheus/prometheus to v0.311.3.
- CVE-2026-33762
- CVE-2026-42151
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Beta — feedback welcome: [email protected]