>> We've been testing OpenSSL 1.0.2 AES-CBC, and we encountered a seg fault >> when the input length is less than a block size. >> >> Looking at e_aes.c, aes_cbc_cipher() doesn't have the length check seen >> in aes_ecb_cipher(). >> I patched aes_cbc_cipher() as follows, and that seems to fix the seg >> fault issue. > > Could you elaborate on SEGV? I mean basically it shouldn't happen in > sense that caller, which is EVP, should not call this function with > length non-divisible by cipher block size. Of course there is corner > case of 0 being divisible by cipher block size. So that it might be more > appropriate to check for len==0 when returning 1 indicating success. > Meaning that ECB might have to be modified accordingly.
AES-CBC is not the only one that should suffer from this and for the moment I've chosen to patch assembly modules in http://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=cc6dc9b2294f7dd59899452470b4bbeaed1eb57d. Yes, it's kind of quick-n-dirty resolution, as we arguably need more sanity checks in *_cipher methods... ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [email protected] Automated List Manager [email protected]
