Peter Steinberger
be8d51c301
fix(node-host): harden perl approval binding
2026-03-13 13:09:36 +00:00
Peter Steinberger
2f03de029c
fix(node-host): harden pnpm approval binding
2026-03-13 12:59:55 +00:00
Peter Steinberger
ddcaec89e9
fix(node-host): fail closed on ruby approval preload flags
2026-03-12 23:23:54 +00:00
Vincent Koc
33ba3ce951
fix(node-host): harden ambiguous approval operand binding ( #44247 )
...
* fix(node-host): harden approval operand binding
* test(node-host): cover approval parser hardening
* docs(changelog): note approval hardening GHSA cluster
* Update CHANGELOG.md
* fix(node-host): remove dead approval parser entries
* test(node-host): cover bunx approval wrapper
* fix(node-host): unwrap pnpm shim exec forms
* test(node-host): cover pnpm shim wrappers
2026-03-12 13:28:35 -04:00
Robin Waslander
b7a37c2023
fix(node-host): extend script-runner set and add fail-closed guard for mutable-file approval
...
tsx, jiti, ts-node, ts-node-esm, vite-node, and esno were not recognized
as interpreter-style script runners in invoke-system-run-plan.ts. These
runners produced mutableFileOperand: null, causing invoke-system-run.ts
to skip revalidation entirely. A mutated script payload would execute
without the approval binding check that node ./run.js already enforced.
Two-part fix:
- Add tsx, jiti, and related TypeScript/ESM loaders to the known script
runner set so they produce a valid mutableFileOperand from the planner
- Add a fail-closed runtime guard in invoke-system-run.ts that denies
execution when a script run should have a mutable-file binding but the
approval plan is missing it, preventing unknown future runners from
silently bypassing revalidation
Fixes GHSA-qc36-x95h-7j53
2026-03-12 01:34:35 +01:00
Peter Steinberger
0ab8d20917
docs(changelog): note interpreter approval hardening
2026-03-11 02:45:10 +00:00
Peter Steinberger
daaf211e20
fix(node-host): fail closed on unbound interpreter approvals
2026-03-11 02:36:38 +00:00
Peter Steinberger
68c674d37c
refactor(security): simplify system.run approval model
2026-03-11 01:43:06 +00:00
Peter Steinberger
7289c19f1a
fix(security): bind system.run approvals to exact argv text
2026-03-11 01:25:31 +00:00
Peter Steinberger
cf3a479bd1
fix(node-host): bind bun and deno approval scripts
2026-03-09 05:59:32 +00:00
Peter Steinberger
c76d29208b
fix(node-host): bind approved script operands
2026-03-07 23:04:00 +00:00
Sid
c8ebd48e0f
fix(node-host): sync rawCommand with hardened argv after executable path pinning ( #33137 )
...
Merged via squash.
Prepared head SHA: a7987905f7
Co-authored-by: Sid-Qin <201593046+Sid-Qin@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-03-04 11:30:33 -05:00
Peter Steinberger
dc825e59f5
refactor: unify system.run approval cwd revalidation
2026-03-02 23:46:54 +00:00
Peter Steinberger
aee27d0e38
refactor(security): table-drive wrapper approval pinning tests
2026-03-02 17:30:48 +00:00
Peter Steinberger
dded569626
fix(security): preserve system.run wrapper approval semantics
2026-03-02 17:20:52 +00:00
Peter Steinberger
155118751f
refactor!: remove versioned system-run approval contract
2026-03-02 01:12:53 +00:00
Peter Steinberger
d82c042b09
refactor(node-host): split system.run plan and allowlist internals
2026-02-26 22:01:01 +01:00