summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorDemi Marie Obenour <demiobenour@gmail.com>2022-12-08 15:24:10 -0500
committerDemi Marie Obenour <demiobenour@gmail.com>2022-12-29 18:41:10 -0500
commita8c8c5ef2a8f5a27772eb708f2201429dd8d32b2 (patch)
tree7d7b6dcde3aa215dcb2429dc4f3025914864fb47 /drivers
parentf47547b35462571636a76b737602e827ae43bc24 (diff)
downloadarm-trusted-firmware-a8c8c5ef2a8f5a27772eb708f2201429dd8d32b2.tar.gz
fix(auth): reject padding after BIT STRING in signatures
It is forbidden by ASN.1 DER. Change-Id: Id8a48e14bb8a1a17a6481ea3fde0803723c05e31 Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/auth/mbedtls/mbedtls_crypto.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/auth/mbedtls/mbedtls_crypto.c b/drivers/auth/mbedtls/mbedtls_crypto.c
index 178bbf5f4..42a09255d 100644
--- a/drivers/auth/mbedtls/mbedtls_crypto.c
+++ b/drivers/auth/mbedtls/mbedtls_crypto.c
@@ -115,7 +115,7 @@ static int verify_signature(void *data_ptr, unsigned int data_len,
end = (unsigned char *)(p + sig_len);
signature.tag = *p;
rc = mbedtls_asn1_get_bitstring_null(&p, end, &signature.len);
- if (rc != 0) {
+ if ((rc != 0) || ((size_t)(end - p) != signature.len)) {
rc = CRYPTO_ERR_SIGNATURE;
goto end1;
}