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.sqfsBinary files differ new file mode 100644 index 0000000..0c33bb3 --- /dev/null +++ b/tests/rdsquashfs/pathtraversal.sqfs | 
