This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
Affected surfaces
Summary
AI summaryUpdates 📦 Misc, 🐛 Bug Fixes, and ✨ Features across a mixed release.
Full changelog
What's New
✨ Features
-
Full policy body logging on init and update — Egress now logs the complete JSON policy payload during initialization (from both file and env sources) and on POST/PATCH/DELETE API calls. Previously only a summary (action + target per rule) was logged, making policy debugging harder. (#1095)
-
Environment variable injection into egress container —
OPENSANDBOX_EGRESS_*prefixed env vars inCreateSandboxRequest.envare now automatically routed to the egress sidecar instead of the main sandbox container. Reserved internal vars (OPENSANDBOX_EGRESS_RULES,OPENSANDBOX_EGRESS_MODE,OPENSANDBOX_EGRESS_TOKEN) are blocked with HTTP 400. No API/SDK/spec changes required — uses existingenvfield with prefix convention. (#1069)
🐛 Bug Fixes
-
DNS "buffer size too small" failures resolved — The DNS proxy now adds EDNS0 with a 4096-byte UDP payload size when forwarding upstream queries that lack EDNS0, and sets
dns.Client.UDPSizeto 4096. This fixes intermittent DNS failures observed with CoreDNS in Kubernetes when upstream responses exceeded the default UDP buffer (e.g.,packages.microsoft.comvia Azure Linuxtdnf). (#1098) -
Credential vault no longer rejects writes during mitmproxy startup — Previously, credential vault POST/PATCH/DELETE handlers returned HTTP 412 immediately when mitmproxy hadn't finished starting, causing a race condition on sandbox startup. Now uses
HealthGate.WaitReady(ctx)to poll until mitmproxy is ready or the request context is cancelled. (#1092) -
gVisor + networkPolicy incompatibility caught at request time — Server now returns HTTP 400 when
networkPolicyis requested undersecure_runtime.type=gvisor, since gVisor lacks the iptablesnattable required by the egress sidecar's DNS redirect. Previously this caused a CrashLoopBackOff at runtime with no clear error message. (#1070)
📦 Misc
- Runtime volume always mounted on egress sidecar — The
/opt/opensandboxshared volume is now mounted on the egress sidecar regardless ofcredential_proxy_enabled, fixing manual MITM scenarios where the CA cert was written to an unreachable filesystem. (#1072)
👥 Contributors
Thanks to these contributors ❤️
- @bcho
- @Pangjiping
- Docker Hub: opensandbox/egress:v1.1.2
- Aliyun Registry: sandbox-registry.cn-zhangjiakou.cr.aliyuncs.com/opensandbox/egress:v1.1.2
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
Earlier breaking changes
- vpython/sandbox/v0.1.14 Removes `CredentialMatch.ports`; port now derived from scheme.
- vjava/sandbox/v1.0.16 Removes CredentialMatch.ports; port derived from scheme instead.
- vdocker/egress/v1.1.4 `Match.Ports` field removed from Credential Vault bindings; ports derived from scheme.
- vdocker/egress/v1.1.4 'X-Forwarded-Proto' is trusted only from configured proxy CIDRs.
- vdocker/egress/v1.1.4 Credential Vault requires `dns+nft` enforcement for egress connections.
Beta — feedback welcome: [email protected]