• M
    Fix buffer overrun in RSA signing · 34166d41
    Matt Caswell 提交于
    The problem occurs in EVP_PKEY_sign() when using RSA with X931 padding.
    It is only triggered if the RSA key size is smaller than the digest length.
    So with SHA512 you can trigger the overflow with anything less than an RSA
    512 bit key. I managed to trigger a 62 byte overflow when using a 16 bit RSA
    key. This wasn't sufficient to cause a crash, although your mileage may
    vary.
    
    In practice RSA keys of this length are never used and X931 padding is very
    rare. Even if someone did use an excessively short RSA key, the chances of
    them combining that with a longer digest and X931 padding is very
    small. For these reasons I do not believe there is a security implication to
    this. Thanks to Kevin Wojtysiak (Int3 Solutions) and Paramjot Oberoi (Int3
    Solutions) for reporting this issue.
    Reviewed-by: NAndy Polyakov <appro@openssl.org>
    34166d41
rsa_pmeth.c 21.5 KB