32 lines
1.1 KiB
Diff
32 lines
1.1 KiB
Diff
From 2d0e5d4a4a5d4332325b5e5cea492fad2be633e1 Mon Sep 17 00:00:00 2001
|
|
From: Matt Caswell <matt@openssl.org>
|
|
Date: Thu, 19 Aug 2021 12:23:38 +0100
|
|
Subject: [PATCH] Fix NETSCAPE_SPKI_print function to not assume NUL terminated
|
|
strings
|
|
|
|
ASN.1 strings may not be NUL terminated. Don't assume they are.
|
|
|
|
CVE-2021-3712
|
|
|
|
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
|
|
Reviewed-by: Paul Dale <pauli@openssl.org>
|
|
---
|
|
crypto/asn1/t_spki.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/crypto/asn1/t_spki.c b/crypto/asn1/t_spki.c
|
|
index 51b56d0aa9..64ee77eeec 100644
|
|
--- a/crypto/asn1/t_spki.c
|
|
+++ b/crypto/asn1/t_spki.c
|
|
@@ -38,7 +38,7 @@ int NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki)
|
|
}
|
|
chal = spki->spkac->challenge;
|
|
if (chal->length)
|
|
- BIO_printf(out, " Challenge String: %s\n", chal->data);
|
|
+ BIO_printf(out, " Challenge String: %.*s\n", chal->length, chal->data);
|
|
i = OBJ_obj2nid(spki->sig_algor.algorithm);
|
|
BIO_printf(out, " Signature Algorithm: %s",
|
|
(i == NID_undef) ? "UNKNOWN" : OBJ_nid2ln(i));
|
|
--
|
|
|