Problem
On a shared system, there is a directory (weirdly, but it could've been a file) named Cargo.toml under $HOME/... It is owned by root with 000 permission. As the parent directory still has r permission, a cargo project under $HOME cannot be built as cargo will detect the bad Cargo.toml, attempt to access it and then error out with permission denied.
A root user could put a Cargo.toml under / which acts a system-wide DoS against cargo for other users.
I know this recursive look up is expected behaviour, but it doesn't really play well with file permissions on shared systems. This is unlike .cargo/config.toml where each user can override the parent directory with a more specific one.
Steps
No response
Possible Solution(s)
Add a flag, say --workspace-lookup-depth=n, to prevent cargo from looking more than n levels up the file system
Notes
No response
Version
No response
Problem
On a shared system, there is a directory (weirdly, but it could've been a file) named
Cargo.tomlunder$HOME/... It is owned by root with 000 permission. As the parent directory still hasrpermission, a cargo project under$HOMEcannot be built as cargo will detect the badCargo.toml, attempt to access it and then error out with permission denied.A root user could put a
Cargo.tomlunder/which acts a system-wide DoS against cargo for other users.I know this recursive look up is expected behaviour, but it doesn't really play well with file permissions on shared systems. This is unlike
.cargo/config.tomlwhere each user can override the parent directory with a more specific one.Steps
No response
Possible Solution(s)
Add a flag, say
--workspace-lookup-depth=n, to prevent cargo from looking more thannlevels up the file systemNotes
No response
Version
No response