This release includes 1 breaking change for platform teams planning a safe upgrade.
Published 4d
MCP SaaS Integrations
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
ai
containerization
llm
mcp
mcp-server
portainer
Affected surfaces
auth
Summary
AI summaryGuidance gate now uses a toll‑booth model and adds trust‑proxy auth posture.
Full changelog
2.43.2 — Targets Portainer 2.43.x
Fixed
- Guidance gate no longer keys on
Mcp-Session-Id— clients behind
session-churning bridges are never locked out (#75). The gate is now a
toll booth: the first tool call from a caller whose idle window has
lapsed is answered with the operating guide itself (plus a retry
instruction) instead of a "callget_guidanceand retry" bounce, and the
caller is marked guided immediately — delivery is the proof, so nothing
needs to be correlated across requests and there is no lockout state.
Callers are identified by the authenticated principal (the per-user
API-key digest over HTTP, the process over stdio), the scoping SEP-2567
recommends now that major clients mint a fresh session id per tool call.
The window slides with activity (PORTAINER_MCP_GUIDANCE_TTL, default
1800s), so re-delivery happens on the next conversation, not mid-task —
including over stdio, where the old gate fired only once per process
lifetime.PORTAINER_MCP_DISABLE_GUIDANCE_GATE=1disables enforcement
entirely (install the hygiene skill manually on clients in that case);
get_guidanceremains available on demand.
Added
- Trust-proxy auth posture (
PORTAINER_MCP_TRUST_PROXY_AUTH=1) for
deployments behind an identity-aware proxy that owns theAuthorization
header (e.g. Pomerium in MCP server mode) — #76. The gate-token
compare is replaced by per-request proxy attestation: inherited from the
PORTAINER_MCP_TRUST_PROXY_TLS+PORTAINER_MCP_FORWARDED_ALLOW_IPS
declaration behind a TLS-terminating proxy, or an explicit
PORTAINER_MCP_TRUSTED_PROXY_AUTH_IPSsocket-peer allowlist when the
server terminates TLS itself. Exactly one auth posture must be declared
(gate token XOR trust-proxy); every degenerate combination — both, neither,
trust + plaintext opt-out, wildcard allowlists (*or zero-prefix CIDRs),
a server-held cert alongside the inherited shape, a peer allowlist without
the trust flag — refuses to boot, and the
per-userX-Portainer-API-Keyvalidation floor is unchanged. New audit
outcomesuntrusted_scheme/untrusted_peer; audit records under this
posture carryauth_posture: "trust_proxy".
Full changelog: https://github.com/portainer/portainer-mcp/blob/2.43.2/CHANGELOG.md
Breaking Changes
- Removal of `Mcp-Session-Id` keying from the guidance gate; callers are now identified by authenticated principal.
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
Related context
Related tools
Beta — feedback welcome: [email protected]