Fetching from the wire…
Public story · 2026-08-25 · high
A trailing-slash symlink bug let extensions escape Zed's filesystem sandbox; the same patch turns off the ask_user tool by default.
Why now: Both patched builds went out August 24.
Zed released 1.16.2 and 1.17.1-pre on August 24, closing a sandbox escape in how it hosts extensions. Extensions run inside that sandbox specifically so they can't reach files outside their workspace, and the bug undercut that guarantee for anyone still on the old minimum.
The fix raises the workspace minimum for wasmtime-wasi to 36.0.14, pulling in cap-primitives 3.4.6 in place of 3.4.4. That earlier patch version mishandled trailing slashes on symlinks, letting them bypass capability-based filesystem confinement, per Zed's PR #63144.
Those same builds also disable the ask_user tool by default. The PR doesn't say whether that's tied to the same escape path or a separate hardening move.
Wasmtime is a general-purpose WASM runtime, and cap-primitives is the crate that enforces its filesystem capability model. Zed's PR covers what Zed shipped, but any project embedding Wasmtime inherited the same bug if it depended on an affected cap-primitives version. That reaches well beyond editor extensions, since Wasmtime sandboxes untrusted code broadly.
How long 3.4.4 sat in the ecosystem before this got caught isn't in the PR. Neither is how many other Wasmtime embedders still depend on it. A minimum-version bump in a manifest doesn't guarantee a lockfile actually resolved to 3.4.6, so anyone using Wasmtime to sandbox agent-run code is better off confirming the resolved version directly.
Each link below shares sources, entities, or timing with this story.
Before v4.1.15 on August 23, it only applied to tools also opted in individually, so flipping it appeared to do nothing. Anyone who left it on assuming it was inert has just widened their unattended tool surface across every connected server. (GitHub) Same release train fixed...
ChaoMixian/dsh2shell, created August 21, is a Python PoC for unauthenticated remote code execution against dsh web instances reachable on the network (GitHub). It arrives while the plugin ecosystem scales fast, with dshplugin/dsh-plugin-hub advertising 4,000+ community plugins...
semantica-agi/semantica surged +1,181 stars to 7,761 today, and the release driving it is a security release from August 11 fixing six externally-reported flaws across the Explorer API and the graph store backends, plus a CodeQL-flagged ReDoS. GitHub A missing-authentication g...
v0.1.1-rc.1 shipped August 21 at 07:12 UTC, fixing a hole where confined processes could escape sandbox restrictions, alongside adding the V4-Flash-Vision-Exp model to the DeepSeek adapter. GitHub If you're running DSH agents unattended, this one isn't optional.
Three moves, two days, no coordination between them. August 10–11: GitHub shipped Ollama as a BYOK provider inside Copilot for JetBrains (GitHub Changelog). Unsloth released Unsloth Desktop with a command literally named unsloth start claude, which points Claude Code and Codex...
@mastra/[redacted], released August 26, adds an optional SandboxComputer capability to workspaces covering screenshots, mouse and keyboard control, display info and wait tools, with providers in @mastra/daytona and a new @mastra/e2b-desktop package bundling E2B command, proces...
MindPattern daily
One email a day at 7 AM. Sources and a take on every story. Unsubscribe anytime.