{"id":"CVE-2026-58494","summary":"Wasmtime: WASI hard links bypass wasmtime-wasi's FilePerms for destination","details":"Wasmtime is a runtime for WebAssembly. Prior to 24.0.11, 36.0.12, 45.0.3, and 46.0.1, wasmtime-wasi hard-link creation and renaming check directory permissions but not matching FilePerms on source and destination preopens, allowing a WASI guest with a read-only source file capability to overwrite host files exposed as FilePerms::READ through wasip1, wasip2, or wasip3 filesystem interfaces. This issue is fixed in versions 24.0.11, 36.0.12, 45.0.3, and 46.0.1.","aliases":["GHSA-4ch3-9j33-3pmj","RUSTSEC-2026-0188"],"modified":"2026-07-12T03:54:50.532022754Z","published":"2026-07-08T20:22:16.039Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-281","CWE-863"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/58xxx/CVE-2026-58494.json"},"references":[{"type":"WEB","url":"https://github.com/bytecodealliance/wasmtime/releases/tag/v24.0.11"},{"type":"WEB","url":"https://github.com/bytecodealliance/wasmtime/releases/tag/v36.0.12"},{"type":"WEB","url":"https://github.com/bytecodealliance/wasmtime/releases/tag/v45.0.3"},{"type":"WEB","url":"https://github.com/bytecodealliance/wasmtime/releases/tag/v46.0.1"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/58xxx/CVE-2026-58494.json"},{"type":"ADVISORY","url":"https://github.com/bytecodealliance/wasmtime/security/advisories/GHSA-4ch3-9j33-3pmj"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-58494"},{"type":"FIX","url":"https://github.com/bytecodealliance/wasmtime/commit/5ddfd5f1ef28f2041fa07d237ad0336e167b0e0c"},{"type":"FIX","url":"https://github.com/bytecodealliance/wasmtime/commit/7db94cdcf0c79cb3dfde884b534b653f2dd83367"},{"type":"FIX","url":"https://github.com/bytecodealliance/wasmtime/commit/8a250aac0962ca1364b5f16525720e9d0b39edcd"},{"type":"FIX","url":"https://github.com/bytecodealliance/wasmtime/commit/d3ceb56ec35f39e02496eeb4e2d9c7f4fb964d9e"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/bytecodealliance/wasmtime","events":[{"introduced":"0"},{"introduced":"0b195ef5db76c02fb5392ec1418c58bdc5537d41"},{"introduced":"7b3d6ae79e9153a2477668062f5622c10333925f"},{"introduced":"423be7a4e4d30bb377c836d317521d1eb874e157"},{"fixed":"eb160670b724ddce393cdbb2fa380e941bd3e3a6"},{"fixed":"6c0a7fc9c387f34dddcf94ef41d7b3b0f9d18cb0"},{"fixed":"84f1cbebd7e68ad6385f3438b12cf8b8f10d2f08"},{"fixed":"823d1b8f251494a06288194d0df746191f535ff7"},{"fixed":"5ddfd5f1ef28f2041fa07d237ad0336e167b0e0c"},{"fixed":"7db94cdcf0c79cb3dfde884b534b653f2dd83367"},{"fixed":"8a250aac0962ca1364b5f16525720e9d0b39edcd"},{"fixed":"d3ceb56ec35f39e02496eeb4e2d9c7f4fb964d9e"}],"database_specific":{"source":["AFFECTED_FIELD","REFERENCES"],"extracted_events":[{"introduced":"0"},{"fixed":"24.0.11"},{"introduced":"25.0.0"},{"fixed":"36.0.12"},{"introduced":"37.0.0"},{"fixed":"45.0.3"},{"introduced":"46.0.0"},{"fixed":"46.0.1"}]}}],"versions":["v45.0.2","v36.0.11","v24.0.10","v46.0.0","v24.0.9","v36.0.10","v45.0.1","v45.0.0","v36.0.9","v24.0.8","v36.0.8","v36.0.7","v24.0.7","v36.0.6","v24.0.6","v36.0.5","dev","v36.0.4","v24.0.5","v36.0.3","v36.0.2","v24.0.4","v36.0.1","v36.0.0","v24.0.3","v24.0.2","v24.0.1","v24.0.0","v0.35.0","v0.33.0","v0.34.0","v0.32.0","v0.31.0","v0.30.0","v0.29.0","v0.28.0","v0.27.0","v0.26.0","v0.25.0","v0.24.0","v0.23.0","v0.22.0","cranelift-v0.69.0","v0.21.0","v0.20.0","v0.19.0","v0.18.0","v0.17.0","v0.16.0","cranelift-v0.61.0","cranelift-v0.60.0","v0.12.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-58494.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:N"}]}