diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2021-08-14 12:37:02 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2021-08-14 15:12:24 +0200 |
commit | 1deb54c95d508f9adce1dddb073f0b0e4f8e7ba1 (patch) | |
tree | 5f257a566f89701641a030d7b2eb3604c3d7cfc9 | |
parent | ad109e2b119cb3ed27c7d964be9625d415447eb1 (diff) |
Add a test case for the path traversal bug
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | tests/Makemodule.am | 7 | ||||
-rw-r--r-- | tests/rdsquashfs/pathtraversal.sh.in | 12 | ||||
-rw-r--r-- | tests/rdsquashfs/pathtraversal.sqfs | bin | 0 -> 4096 bytes |
5 files changed, 22 insertions, 0 deletions
@@ -42,6 +42,7 @@ m4/libtool.m4 m4/lt*.m4 Doxyfile tests/*.sh +tests/rdsquashfs/*.sh /mknastyfs /mk42sqfs /extract_one diff --git a/configure.ac b/configure.ac index e79d671..2d45daa 100644 --- a/configure.ac +++ b/configure.ac @@ -299,6 +299,8 @@ AC_CONFIG_FILES([tests/cantrbry.sh], [chmod +x tests/cantrbry.sh]) AC_CONFIG_FILES([tests/test_tar_sqfs.sh], [chmod +x tests/test_tar_sqfs.sh]) AC_CONFIG_FILES([tests/pack_dir_root.sh], [chmod +x tests/pack_dir_root.sh]) AC_CONFIG_FILES([tests/tarcompress.sh], [chmod +x tests/tarcompress.sh]) +AC_CONFIG_FILES([tests/rdsquashfs/pathtraversal.sh], + [chmod +x tests/rdsquashfs/pathtraversal.sh]) AC_OUTPUT([Makefile]) diff --git a/tests/Makemodule.am b/tests/Makemodule.am index 8669fb1..3165889 100644 --- a/tests/Makemodule.am +++ b/tests/Makemodule.am @@ -11,7 +11,14 @@ TESTS += tests/cantrbry.sh tests/test_tar_sqfs.sh tests/pack_dir_root.sh endif endif +if WINDOWS +else +check_SCRIPTS += tests/rdsquashfs/pathtraversal.sh +TESTS += tests/rdsquashfs/pathtraversal.sh +endif + EXTRA_DIST += $(top_srcdir)/tests/tar2sqfs EXTRA_DIST += $(top_srcdir)/tests/corpus/cantrbry.tar.xz EXTRA_DIST += $(top_srcdir)/tests/corpus/cantrbry.sha512 EXTRA_DIST += $(top_srcdir)/tests/pack_dir_root.txt.ref +EXTRA_DIST += $(top_srcdir)/tests/rdsquashfs/pathtraversal.sqfs diff --git a/tests/rdsquashfs/pathtraversal.sh.in b/tests/rdsquashfs/pathtraversal.sh.in new file mode 100644 index 0000000..6dd9fab --- /dev/null +++ b/tests/rdsquashfs/pathtraversal.sh.in @@ -0,0 +1,12 @@ +#!/bin/sh + +RDSQFS="@abs_top_builddir@/rdsquashfs" +REFFILE="@abs_top_srcdir@/tests/rdsquashfs/pathtraversal.sqfs" +GOTCHA="/tmp/gotcha.txt" + +if "$RDSQFS" -u / -p . "$REFFILE"; then + if [ -e "$GOTCHA" ]; then + echo "Found $GOTCHA which should not be there" + exit 1 + fi +fi diff --git a/tests/rdsquashfs/pathtraversal.sqfs b/tests/rdsquashfs/pathtraversal.sqfs Binary files differnew file mode 100644 index 0000000..0c33bb3 --- /dev/null +++ b/tests/rdsquashfs/pathtraversal.sqfs |