{"id":"CVE-2026-108595","summary":"Phi 0.3.0 through 0.28.4 Permission Bypass via agent_spawn Workdir","details":"Phi 0.3.0 through 0.28.4 contains a permission bypass vulnerability that allows spawned sub-agents to escape workspace_only_writes and readonly mode by supplying an unchecked workdir to agent_spawn. Attackers can plant prompt-injected instructions in processed content so the agent spawns a worker rooted elsewhere, causing unapproved file writes anywhere the user can write.","modified":"2026-10-15T02:30:48.225893782Z","published":"2026-10-10T18:16:58.378Z","database_specific":{"cna_assigner":"VulnCheck","cwe_ids":["CWE-863"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/108xxx/CVE-2026-108595.json"},"references":[{"type":"WEB","url":"https://pkg.go.dev"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/108xxx/CVE-2026-108595.json"},{"type":"ADVISORY","url":"https://hackmd.io/@haind/phi-subagent-workdir-workspace-escape"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-108595"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/phi-0.3.0-through-0.28.4-permission-bypass-via-agent-spawn-workdir"},{"type":"PACKAGE","url":"https://github.com/pulseaiclub/phi"},{"type":"ARTICLE","url":"https://github.com/pulseaiclub/phi/blob/5b3cb440a7c58115ef64283a737a43299f2805a4/internal/agent/engine_runner.go#L52-L60"},{"type":"ARTICLE","url":"https://github.com/pulseaiclub/phi/blob/5b3cb440a7c58115ef64283a737a43299f2805a4/internal/tools/agenttool/agent.go#L106-L120"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/pulseaiclub/phi","events":[{"introduced":"b568ed7d3b4a8de8a3c36f9cecd98c112e422be0"},{"fixed":"5b3cb440a7c58115ef64283a737a43299f2805a4"}],"database_specific":{"source":["AFFECTED_FIELD","DESCRIPTION"],"extracted_events":[{"introduced":"0.3.0"},{"last_affected":"0.28.4"},{"fixed":"0.28.4"}]}}],"versions":["v0.28.3","ext/ts/v0.1.0","v0.28.2","v0.28.1","v0.28.0","ext/go/v0.25.2","v0.27.6","v0.27.5","v0.27.4","v0.27.3","ext/rust/v0.6.1","v0.27.2","ext/go/v0.25.1","v0.27.1","v0.27.0","ext/rust/v0.6.0","ext/rust/v0.5.0","ext/go/v0.25.0","v0.25.1","v0.25.0","v0.24.0","ext/rust/v0.4.0","ext/go/v0.24.0","v0.23.0","ext/go/v0.23.0","v0.22.0","ext/rust/v0.3.0","v0.21.1","ext/go/v0.21.1","ext/go/v0.21.0","ext/rust/v0.2.0","v0.21.0","ext/v0.21.0","v0.20.0","ext/v0.20.0","v0.19.2","ext/v0.19.2","v0.19.1","ext/v0.19.1","v0.19.0","v0.18.1","v0.18.0","v0.17.0","v0.16.0","v0.15.0","v0.14.0","v0.13.0","v0.12.0","v0.11.0","v0.9.0","v0.8.0","v0.6.0","v0.7.0","v0.5.0","v0.4.0","v0.3.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-108595.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N"}]}