Skip to content
  1. May 22, 2015
    • Matt Caswell's avatar
      Fix off-by-one in BN_rand · f3b555a6
      Matt Caswell authored
      
      
      If BN_rand is called with |bits| set to 1 and |top| set to 1 then a 1 byte
      buffer overflow can occur. There are no such instances within the OpenSSL at
      the moment.
      
      Thanks to Mateusz Kocielski (LogicalTrust), Marek Kroemeke, Filip Palian for
      discovering and reporting this issue.
      
      Reviewed-by: default avatarKurt Roeckx <kurt@openssl.org>
      f3b555a6
    • Matt Caswell's avatar
      Reject negative shifts for BN_rshift and BN_lshift · c0de854c
      Matt Caswell authored
      
      
      The functions BN_rshift and BN_lshift shift their arguments to the right or
      left by a specified number of bits. Unpredicatable results (including
      crashes) can occur if a negative number is supplied for the shift value.
      
      Thanks to Mateusz Kocielski (LogicalTrust), Marek Kroemeke and Filip Palian
      for discovering and reporting this issue.
      
      Reviewed-by: default avatarKurt Roeckx <kurt@openssl.org>
      (cherry picked from commit 7cc18d81)
      
      Conflicts:
      	crypto/bn/bn.h
      	crypto/bn/bn_err.c
      c0de854c
  2. May 13, 2015
    • Rich Salz's avatar
      Add NULL checks from master · 155ca14e
      Rich Salz authored
      
      
      The big "don't check for NULL" cleanup requires backporting some
      of the lowest-level functions to actually do nothing if NULL is
      given.  This will make it easier to backport fixes to release
      branches, where master assumes those lower-level functions are "safe"
      
      This commit addresses those tickets: 3798 3799 3801.
      
      Reviewed-by: default avatarMatt Caswell <matt@openssl.org>
      (cherry picked from commit f34b095f)
      (cherry picked from commit 690d040b)
      155ca14e
  3. Apr 18, 2015
  4. Apr 16, 2015
  5. Apr 14, 2015
    • Matt Caswell's avatar
      Fix ssl_get_prev_session overrun · 5d28381a
      Matt Caswell authored
      
      
      If OpenSSL is configured with no-tlsext then ssl_get_prev_session can read
      past the end of the ClientHello message if the session_id length in the
      ClientHello is invalid. This should not cause any security issues since the
      underlying buffer is 16k in size. It should never be possible to overrun by
      that many bytes.
      
      This is probably made redundant by the previous commit - but you can never be
      too careful.
      
      With thanks to Qinghao Tang for reporting this issue.
      
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      (cherry picked from commit 5e0a80c1)
      
      Conflicts:
      	ssl/ssl_sess.c
      5d28381a
    • Matt Caswell's avatar
      Check for ClientHello message overruns · eeda9661
      Matt Caswell authored
      
      
      The ClientHello processing is insufficiently rigorous in its checks to make
      sure that we don't read past the end of the message. This does not have
      security implications due to the size of the underlying buffer - but still
      needs to be fixed.
      
      With thanks to Qinghao Tang for reporting this issue.
      
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      (cherry picked from commit c9642eb1ff79a30e2c7632ef8267cc34cc2b0d79)
      eeda9661
  6. Apr 10, 2015
    • Dr. Stephen Henson's avatar
      Don't set *pval to NULL in ASN1_item_ex_new. · c5b0f5c4
      Dr. Stephen Henson authored
      
      
      While *pval is usually a pointer in rare circumstances it can be a long
      value. One some platforms (e.g. WIN64) where
      sizeof(long) < sizeof(ASN1_VALUE *) this will write past the field.
      
      *pval is initialised correctly in the rest of ASN1_item_ex_new so setting it
      to NULL is unecessary anyway.
      
      Thanks to Julien Kauffmann for reporting this issue.
      
      Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
      (cherry picked from commit f617b496)
      
      Conflicts:
      	crypto/asn1/tasn_new.c
      c5b0f5c4
  7. Apr 08, 2015
    • Richard Levitte's avatar
      Have mkerr.pl treat already existing multiline string defs properly · 32fbe914
      Richard Levitte authored
      
      
      Since source reformat, we ended up with some error reason string
      definitions that spanned two lines.  That in itself is fine, but we
      sometimes edited them to provide better strings than what could be
      automatically determined from the reason macro, for example:
      
          {ERR_REASON(SSL_R_NO_GOST_CERTIFICATE_SENT_BY_PEER),
           "Peer haven't sent GOST certificate, required for selected ciphersuite"},
      
      However, mkerr.pl didn't treat those two-line definitions right, and
      they ended up being retranslated to whatever the macro name would
      indicate, for example:
      
          {ERR_REASON(SSL_R_NO_GOST_CERTIFICATE_SENT_BY_PEER),
           "No gost certificate sent by peer"},
      
      Clearly not what we wanted.  This change fixes this problem.
      
      Reviewed-by: default avatarMatt Caswell <matt@openssl.org>
      (cherry picked from commit 2cfdfe09)
      
      Conflicts:
      	util/mkerr.pl
      32fbe914
  8. Mar 24, 2015
  9. Mar 19, 2015
  10. Mar 18, 2015
  11. Mar 14, 2015
  12. Mar 11, 2015
  13. Mar 08, 2015
  14. Mar 06, 2015
  15. Mar 02, 2015
  16. Feb 25, 2015
  17. Feb 09, 2015
  18. Feb 06, 2015
  19. Feb 05, 2015
  20. Feb 03, 2015
  21. Jan 22, 2015