Skip to content

Commit e81efbb

Browse files
Merge pull request #78 from NathanNeurotic/codex/fix-security-issue-in-mk_kelf.sh
Harden rm -rf against empty or root TARGET (ShellCheck)
2 parents 197558f + 1cd1a1f commit e81efbb

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

mk_kelf.sh

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,12 @@ cp LICENSE kelf/LICENSE.TXT
4646
cp README.md kelf/README.md
4747
mv kelf/ $TARGET
4848
7z a -t7z PS2BBL_KELF.7z "$TARGET/*"
49-
# Safety guard: prevent CWE-20/22 style unsafe removal on empty or root targets.
50-
: "${TARGET:?TARGET is not set}"
51-
if [ -z "$TARGET" ] || [ "$TARGET" = "/" ] || [ "$TARGET" = "." ] || [ "$TARGET" = ".." ]; then
52-
echo "Refusing to remove unsafe TARGET: '$TARGET'" >&2
53-
exit 1
49+
: "${TARGET:?TARGET is not set or empty}"
50+
51+
if [ "$TARGET" = "/" ]; then
52+
echo "ERROR: TARGET must not be /"
53+
exit 1
5454
fi
55-
rm -rf -- "$TARGET/"
55+
56+
rm -rf -- "${TARGET:?}/"
5657
echo "done!"

0 commit comments

Comments
 (0)