diff --git a/test/d2i-tests/bad-cms.der b/test/d2i-tests/bad-cms.der new file mode 100644 index 0000000000000000000000000000000000000000..19cd3cc3f2a68ec70648398b85e544c0b5cae2c5 Binary files /dev/null and b/test/d2i-tests/bad-cms.der differ diff --git a/test/recipes/25-test_d2i.t b/test/recipes/25-test_d2i.t index 9db0b2be459b12ed3b3a0e500125d39a39e1e1f7..e663534c4da48c886805b2aad8646766b28204cc 100644 --- a/test/recipes/25-test_d2i.t +++ b/test/recipes/25-test_d2i.t @@ -15,7 +15,7 @@ use OpenSSL::Test qw/:DEFAULT srctop_file/; setup("test_d2i"); -plan tests => 13; +plan tests => 14; ok(run(test(["d2i_test", "X509", "decode", srctop_file('test','d2i-tests','bad_cert.der')])), @@ -79,3 +79,10 @@ ok(run(test(["d2i_test", "ASN1_INTEGER", "decode", ok(run(test(["d2i_test", "ASN1_INTEGER", "decode", srctop_file('test','d2i-tests','bad-int-padminus1.der')])), "Running d2i_test bad-int-padminus1.der INTEGER"); + +# Invalid CMS structure with decode error in CHOICE value. +# Test for CVE-2016-7053 + +ok(run(test(["d2i_test", "CMS_ContentInfo", "decode", + srctop_file('test','d2i-tests','bad-cms.der')])), + "Running d2i_test bad-cms.der CMS ContentInfo");