]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
tests: added test cases with invalid openpgp certs
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Wed, 1 Mar 2017 06:58:04 +0000 (07:58 +0100)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Wed, 1 Mar 2017 06:58:04 +0000 (07:58 +0100)
These certificates contain invalid secret key sub-packets.
These trigger invalid memory accesses:
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=360
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=354

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
tests/cert-tests/Makefile.am
tests/cert-tests/data/openpgp-invalid7.pub [new file with mode: 0644]
tests/cert-tests/data/openpgp-invalid8.pub [new file with mode: 0644]
tests/cert-tests/openpgp-cert-parser

index 257855940286695e6d4cbe7c09e144f4359e351c..87b4b50418bde00b89593054c8babd3454e06f4e 100644 (file)
@@ -65,7 +65,8 @@ EXTRA_DIST = data/ca-no-pathlen.pem data/no-ca-or-pathlen.pem data/aki-cert.pem
        data/openpgp-invalid1.pub data/openpgp-invalid2.pub data/openpgp-invalid3.pub \
        data/x509-v1-with-sid.pem data/x509-v1-with-iid.pem data/x509-v3-with-fractional-time.pem \
        data/openpgp-invalid5.pub data/openpgp-invalid6.pub templates/template-long-dns.tmpl \
-       data/long-dns.pem data/template-long-dns-crq.pem
+       data/long-dns.pem data/template-long-dns-crq.pem data/openpgp-invalid7.pub \
+       data/openpgp-invalid8.pub
 
 dist_check_SCRIPTS = pathlen aki certtool invalid-sig email \
        pkcs7 pkcs7-broken-sigs privkey-import name-constraints certtool-long-cn crl provable-privkey \
diff --git a/tests/cert-tests/data/openpgp-invalid7.pub b/tests/cert-tests/data/openpgp-invalid7.pub
new file mode 100644 (file)
index 0000000..f808f49
Binary files /dev/null and b/tests/cert-tests/data/openpgp-invalid7.pub differ
diff --git a/tests/cert-tests/data/openpgp-invalid8.pub b/tests/cert-tests/data/openpgp-invalid8.pub
new file mode 100644 (file)
index 0000000..3ee82da
Binary files /dev/null and b/tests/cert-tests/data/openpgp-invalid8.pub differ
index 1039cf136ef02a7f6d72de3ebee2c50d5919542a..7f22271077b9ebbe3d28f971336945d1e3e723a4 100755 (executable)
@@ -42,7 +42,7 @@ echo "Checking OpenPGP certificate parsing"
 
 for i in "truncated.pub" "attribute-leak-1.pub" "subpkt-leak.pub" "openpgp-invalid1.pub" \
        "openpgp-invalid2.pub" "openpgp-invalid3.pub" "openpgp-invalid4.pub" "openpgp-invalid5.pub" \
-       "openpgp-invalid6.pub";do
+       "openpgp-invalid6.pub" "openpgp-invalid7.pub" "openpgp-invalid8.pub";do
        ${VALGRIND} "${CERTTOOL}" --inraw --pgp-certificate-info --infile "${srcdir}/data/${i}"
        rc=$?
        if test $rc != 1;then