]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: regression test for find-principals NULL deref; from Fabian
authordjm@openbsd.org <djm@openbsd.org>
Wed, 5 Jan 2022 04:10:39 +0000 (04:10 +0000)
committerDamien Miller <djm@mindrot.org>
Wed, 5 Jan 2022 04:12:46 +0000 (15:12 +1100)
Stelzer

OpenBSD-Regress-ID: f845a8632a5a7d5ae26978004c93e796270fd3e5

regress/sshsig.sh

index 732b3bf5b0e599d882dd3df13ea195903e479f4b..40aa0c389bc6d4f127165e69b78d20d61c39b3a9 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: sshsig.sh,v 1.11 2021/11/27 07:23:35 djm Exp $
+#      $OpenBSD: sshsig.sh,v 1.12 2022/01/05 04:10:39 djm Exp $
 #      Placed in the Public Domain.
 
 tid="sshsig"
@@ -208,6 +208,14 @@ for t in $SIGNKEYS; do
        ${SSHKEYGEN} -vvv -Y find-principals -s $sigfile -f $OBJ/allowed_signers >/dev/null 2>&1 && \
                fail "succeeded finding principal with invalid signers file"
 
+       # find-principals with a configured namespace but none on command-line
+       (printf "$sig_principal " ;
+        printf "namespaces=\"test1,test2\" ";
+        cat $pubkey) > $OBJ/allowed_signers
+       ${SSHKEYGEN} -vvv -Y find-principals -s $sigfile \
+           -f $OBJ/allowed_signers >/dev/null 2>&1 || \
+               fail "failed finding principal when namespaces are configured"
+
        # Check signing keys using ssh-agent.
        ${SSHADD} -D >/dev/null 2>&1 # Remove all previously-loaded keys.
        ${SSHADD} ${privkey} > /dev/null 2>&1 || fail "ssh-add failed"