Skip to content
  1. Jun 14, 2016
  2. Jun 13, 2016
  3. May 31, 2016
  4. May 24, 2016
  5. May 23, 2016
  6. May 18, 2016
  7. May 17, 2016
  8. May 16, 2016
  9. May 09, 2016
  10. May 05, 2016
  11. May 03, 2016
    • Kurt Roeckx's avatar
      Check that we have enough padding characters. · 70428ead
      Kurt Roeckx authored
      
      
      Reviewed-by: default avatarEmilia Käsper <emilia@openssl.org>
      
      CVE-2016-2107
      
      MR: #2572
      70428ead
    • Matt Caswell's avatar
      Ensure EVP_EncodeUpdate handles an output length that is too long · 2bd5d70c
      Matt Caswell authored
      
      
      With the EVP_EncodeUpdate function it is the caller's responsibility to
      determine how big the output buffer should be. The function writes the
      amount actually used to |*outl|. However this could go negative with a
      sufficiently large value for |inl|. We add a check for this error
      condition.
      
      Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
      2bd5d70c
    • Matt Caswell's avatar
      Avoid overflow in EVP_EncodeUpdate · ee1e3cac
      Matt Caswell authored
      
      
      An overflow can occur in the EVP_EncodeUpdate function which is used for
      Base64 encoding of binary data. If an attacker is able to supply very large
      amounts of input data then a length check can overflow resulting in a heap
      corruption. Due to the very large amounts of data involved this will most
      likely result in a crash.
      
      Internally to OpenSSL the EVP_EncodeUpdate function is primarly used by the
      PEM_write_bio* family of functions. These are mainly used within the
      OpenSSL command line applications, so any application which processes
      data from an untrusted source and outputs it as a PEM file should be
      considered vulnerable to this issue.
      
      User applications that call these APIs directly with large amounts of
      untrusted data may also be vulnerable.
      
      Issue reported by Guido Vranken.
      
      CVE-2016-2105
      
      Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
      ee1e3cac
    • Matt Caswell's avatar
      Fix encrypt overflow · 3f358213
      Matt Caswell authored
      
      
      An overflow can occur in the EVP_EncryptUpdate function. If an attacker is
      able to supply very large amounts of input data after a previous call to
      EVP_EncryptUpdate with a partial block then a length check can overflow
      resulting in a heap corruption.
      
      Following an analysis of all OpenSSL internal usage of the
      EVP_EncryptUpdate function all usage is one of two forms.
      
      The first form is like this:
      EVP_EncryptInit()
      EVP_EncryptUpdate()
      
      i.e. where the EVP_EncryptUpdate() call is known to be the first called
      function after an EVP_EncryptInit(), and therefore that specific call
      must be safe.
      
      The second form is where the length passed to EVP_EncryptUpdate() can be
      seen from the code to be some small value and therefore there is no
      possibility of an overflow.
      
      Since all instances are one of these two forms, I believe that there can
      be no overflows in internal code due to this problem.
      
      It should be noted that EVP_DecryptUpdate() can call EVP_EncryptUpdate()
      in certain code paths. Also EVP_CipherUpdate() is a synonym for
      EVP_EncryptUpdate(). Therefore I have checked all instances of these
      calls too, and came to the same conclusion, i.e. there are no instances
      in internal usage where an overflow could occur.
      
      This could still represent a security issue for end user code that calls
      this function directly.
      
      CVE-2016-2106
      
      Issue reported by Guido Vranken.
      
      Reviewed-by: default avatarTim Hudson <tjh@openssl.org>
      3f358213
  12. May 02, 2016
  13. Apr 29, 2016
    • Kirill Marinushkin's avatar
      Add aliases for des-ede-ecb and des-ede3-ecb ciphers. · 842dc987
      Kirill Marinushkin authored
      
      
      Currently we can get all block ciphers with
      	EVP_get_cipherbyname("<alg_name>-<block-mode-name>")
      for example, by names "aes-128-ecb" or "des-ede-cbc".
      I found a problem with des-ede-ecb and des-ede3-ecb ciphers as
      they can be accessed only with names:
      	EVP_get_cipherbyname("des-ede")
      	EVP_get_cipherbyname("des-ede3")
      It breaks the general concept.
      
      In this patch I add aliases which allow to use names:
      	EVP_get_cipherbyname("des-ede-ecb")
      	EVP_get_cipherbyname("des-ede3-ecb")
      in addition to the currently used names.
      
      Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      842dc987
  14. Apr 20, 2016
  15. Apr 18, 2016
  16. Apr 13, 2016
  17. Mar 29, 2016
  18. Mar 23, 2016
  19. Mar 21, 2016
  20. Mar 20, 2016