An agent tool may be allowed to read one directory and write another while the runtime labels these as separate authority scopes. In the affected Wasmtime WASI implementation, the guest could hard-link a file from a read-only preopen into a writable preopen. The second pathname still referred to the same underlying inode. Modifying the writable alias…
Inspect the ClaimsCase · DiggingBeagle record
WASI hard links let guests write files declared read-only across preopens
Wasmtime WASI allowed an authorized hard-link operation to bypass a read-only file preopen through a writable alias to the same inode.
Wasmtime WASI Preview 1, 2 and 3 in affected embedding configurations granting directory mutation with source-file read-only access. Fixed in supported branches 24.0.11, 36.0.12, 45.0.3 and 46.0.1. No arbitrary host escape established.
Assessment profile
Assessment method- Setting
- research demonstration
- Exploitation
- demonstrated
- Impact
- Band 2 of 4
- Evidence
- Grade B
- Remediation
- fixed reported
- AI role
- AGAINST AI
Basis and provenance
GHSA-4ch3-9j33-3pmj documents the concrete wasip1/2/3 permission-interaction bypass and patch releases 24.0.11, 36.0.12, 45.0.3 and 46.0.1. The impact requires an embedding to expose mixed preopen rights, so this is not an unqualified generic Wasmtime escape.
Impact basis: Under a specific combination of writable directory preopens and read-only source files, the guest could hard-link and overwrite the original inode despite file-level permissions. No access outside all preopens or host code execution is shown.
Assessed Oct 19, 2026 using diggingbeagle.assessment/1.
Evidence basis: CLM-WASMTIME-WASI-HARDLINK · CVE-2026-58494: WASI hard link bypass of file permissions
At a glance
This defect is relevant to agent isolation when Wasmtime is used as an execution boundary. The advisory does not demonstrate reading outside all preopened directories, a host escape or generic remote code execution.
Read the implicationsThe fixed families include 24.0.11, 36.0.12, 45.0.3 and 46.0.1, depending on supported branch. Exact embedding permissions must be checked.
Limits and uncertaintyFull account
An agent tool may be allowed to read one directory and write another while the runtime labels these as separate authority scopes. In the affected Wasmtime WASI implementation, the guest could hard-link a file from a read-only preopen into a writable preopen. The second pathname still referred to the same underlying inode. Modifying the writable alias consequently changed data that the first directory had exposed as read-only.
A validator that checks permissions only against the destination pathname misses the relevant property: filesystem permissions must follow the object being mutated, including any aliases. The advisory covers particular WASI preopen permission combinations, not unrestricted host filesystem access. It did not demonstrate code execution outside the sandbox or reading files outside all exposed directories.
Wasmtime published fixes across multiple maintained versions. The effective risk depends on the embedding application's preopens, directory permissions and capability assignment. A regression test should create a harmless file under a read-only preopen, attempt a hard link into a writable preopen, and verify that both linkage and mutation fail consistently without blocking legitimate permitted filesystem operations.
Claims & evidence
CLM-WASMTIME-WASI-HARDLINKThe Wasmtime WASI implementation allowed a guest with directory mutation rights in one preopen to hard-link a source file marked read-only into a writable location and modify its underlying inode.supported
Basis: reported finding
- supportsCVE-2026-58494: WASI hard link bypass of file permissionsprimary disclosure
Description; affected and patched versions
Implications
This defect is relevant to agent isolation when Wasmtime is used as an execution boundary. The advisory does not demonstrate reading outside all preopened directories, a host escape or generic remote code execution.
Controls and mitigations
- Validate hard-link effects against both source and destination permissions and deny write aliases to read-only underlying objects.
Unknowns and contradictions
- The fixed families include 24.0.11, 36.0.12, 45.0.3 and 46.0.1, depending on supported branch. Exact embedding permissions must be checked.
Sources and citation
Material revision history
- Oct 19, 2026 · Published version · first publication · revision 174
- Oct 19, 2026 · Canonical change recorded · material revision · revision 175Public fields changed: assessment_profile