CVE-2021-44141: s3: torture: In test_smbclient_s3, change the error codes expected...
authorJeremy Allison <jra@samba.org>
Tue, 7 Dec 2021 20:56:51 +0000 (12:56 -0800)
committerStefan Metzmacher <metze@samba.org>
Mon, 31 Jan 2022 15:27:37 +0000 (15:27 +0000)
For SMB1/2/3 (minus posix) we need to treat bad symlinks
as though they don't exist.

Add to knwownfail.d/symlink_traversal

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14911

Signed-off-by: Jeremy Allison <jra@samba.org>
selftest/knownfail.d/symlink_traversal
selftest/target/Samba3.pm
source3/script/tests/test_smbclient_s3.sh

index 25a4da8f2507143875823938b032dd3c633a19d4..840ab38b0f908dc80ceb0464f7a032cee2100332 100644 (file)
@@ -1,3 +1,5 @@
 ^samba3.blackbox.test_symlink_traversal.SMB2.symlink_traversal_SMB2\(fileserver\)
 ^samba3.blackbox.test_symlink_traversal.SMB1.symlink_traversal_SMB1\(fileserver_smb1_done\)
 ^samba3.blackbox.test_symlink_traversal.SMB1.posix.symlink_traversal_SMB1_posix\(fileserver_smb1_done\)
+^samba3.blackbox.smbclient_s3.*.Ensure\ widelinks\ are\ restricted\(.*\)
+^samba3.blackbox.smbclient_s3.*.follow\ symlinks\ \=\ no\(.*\)
index 83941a85e15b2be25433676bae8bc25501403211..7bb007c959d23d6a669a1f868ff9664701a0410d 100755 (executable)
@@ -2537,7 +2537,7 @@ sub provision($$)
        create_file_chmod("$widelinks_target", 0666) or return undef;
 
        ##
-       ## This link should get ACCESS_DENIED
+       ## This link should get an error
        ##
        symlink "$widelinks_target", "$widelinks_shrdir/source";
        ##
index 89a17656159fc1fe0ee4871536898f9c7fddc16f..e250d4dd10674bf0ff59b4aed3ecbd7f97e3c38b 100755 (executable)
@@ -1044,12 +1044,12 @@ EOF
        return 1
     fi
 
-# This should fail with NT_STATUS_ACCESS_DENIED
-    echo "$out" | grep 'NT_STATUS_ACCESS_DENIED'
+# This should fail with NT_STATUS_OBJECT_NAME_NOT_FOUND
+    echo "$out" | grep 'NT_STATUS_OBJECT_NAME_NOT_FOUND'
     ret=$?
     if [ $ret != 0 ] ; then
        echo "$out"
-       echo "failed - should get NT_STATUS_ACCESS_DENIED listing \\widelinks_share\\source"
+       echo "failed - should get NT_STATUS_OBJECT_NAME_NOT_FOUND listing \\widelinks_share\\source"
        return 1
     fi
 }
@@ -1168,11 +1168,11 @@ EOF
        return 1
     fi
 
-    echo "$out" | grep 'NT_STATUS_ACCESS_DENIED'
+    echo "$out" | grep 'NT_STATUS_OBJECT_NAME_NOT_FOUND'
     ret=$?
     if [ $ret -ne 0 ] ; then
        echo "$out"
-       echo "failed - should get NT_STATUS_ACCESS_DENIED getting \\nosymlinks\\source"
+       echo "failed - should get NT_STATUS_OBJECT_NAME_NOT_FOUND getting \\nosymlinks\\source"
        return 1
     fi