RSA PSS: remove redundant check; changelog
Remove a check introduced in the previous buffer overflow fix with keys of
size 8N+1 which the subsequent fix for buffer start calculations made
redundant.
Added a changelog entry for the buffer start calculation fix.
diff --git a/ChangeLog b/ChangeLog
index 51c002c..487a59a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,8 @@
data is all zeros.
Bugfix
+ * Fix some invalid RSA-PSS signatures with keys of size 8N+1 that were
+ accepted. Generating these signatures required the private key.
* Fix ssl_parse_record_header() to silently discard invalid DTLS records
as recommended in RFC 6347 Section 4.1.2.7.
diff --git a/library/rsa.c b/library/rsa.c
index d923bc9..d2bddf6 100644
--- a/library/rsa.c
+++ b/library/rsa.c
@@ -1405,8 +1405,7 @@
while( p < hash_start - 1 && *p == 0 )
p++;
- if( p == hash_start ||
- *p++ != 0x01 )
+ if( *p++ != 0x01 )
{
mbedtls_md_free( &md_ctx );
return( MBEDTLS_ERR_RSA_INVALID_PADDING );