From: Jouni Malinen Date: Mon, 19 May 2014 20:26:43 +0000 (+0300) Subject: PKCS #1: Enforce minimum padding for decryption in internal TLS X-Git-Tag: hostap_2_2~90 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6c5be116dd6997f68e524247751cff53c74519d7;p=thirdparty%2Fhostap.git PKCS #1: Enforce minimum padding for decryption in internal TLS Follow the PKCS #1 v1.5, 8.1 constraint of at least eight octets long PS for the case where the internal TLS implementation decrypts PKCS #1 formatted data. Similar limit was already in place for signature validation, but not for this decryption routine. Signed-off-by: Jouni Malinen --- diff --git a/src/tls/pkcs1.c b/src/tls/pkcs1.c index af58a4298..ea3e6171a 100644 --- a/src/tls/pkcs1.c +++ b/src/tls/pkcs1.c @@ -113,6 +113,11 @@ int pkcs1_v15_private_key_decrypt(struct crypto_rsa_key *key, pos++; if (pos == end) return -1; + if (pos - out - 2 < 8) { + /* PKCS #1 v1.5, 8.1: At least eight octets long PS */ + wpa_printf(MSG_INFO, "LibTomCrypt: Too short padding"); + return -1; + } pos++; *outlen -= pos - out;