1. 20 7月, 2023 1 次提交
    • M
      Fix DH_check() excessive time with over sized modulus · 9a81b024
      Matt Caswell 提交于
      The DH_check() function checks numerous aspects of the key or parameters
      that have been supplied. Some of those checks use the supplied modulus
      value even if it is excessively large.
      
      There is already a maximum DH modulus size (10,000 bits) over which
      OpenSSL will not generate or derive keys. DH_check() will however still
      perform various tests for validity on such a large modulus. We introduce a
      new maximum (32,768) over which DH_check() will just fail.
      
      An application that calls DH_check() and supplies a key or parameters
      obtained from an untrusted source could be vulnerable to a Denial of
      Service attack.
      
      The function DH_check() is itself called by a number of other OpenSSL
      functions. An application calling any of those other functions may
      similarly be affected. The other functions affected by this are
      DH_check_ex() and EVP_PKEY_param_check().
      
      CVE-2023-3446
      Reviewed-by: NPaul Dale <pauli@openssl.org>
      Reviewed-by: NTom Cosgrove <tom.cosgrove@arm.com>
      Reviewed-by: NBernd Edlinger <bernd.edlinger@hotmail.de>
      Reviewed-by: NTomas Mraz <tomas@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/21451)
      
      (cherry picked from commit 9e0094e2aa1b3428a12d5095132f133c078d3c3d)
      Signed-off-by: Ncode4lala <fengziteng2@huawei.com>
      9a81b024
  2. 26 4月, 2023 1 次提交
  3. 12 4月, 2023 2 次提交
  4. 10 2月, 2023 2 次提交
  5. 01 7月, 2022 1 次提交
  6. 25 6月, 2022 1 次提交
  7. 10 8月, 2021 1 次提交
  8. 11 3月, 2021 1 次提交
  9. 31 5月, 2020 1 次提交
  10. 20 5月, 2020 1 次提交
  11. 31 3月, 2020 2 次提交
  12. 25 3月, 2020 1 次提交
  13. 17 3月, 2020 3 次提交
  14. 14 3月, 2020 1 次提交
    • B
      Code to thread-safety in ChangeCipherState · 44bad9cb
      Benjamin Kaduk 提交于
      The server-side ChangeCipherState processing stores the new cipher
      in the SSL_SESSION object, so that the new state can be used if
      this session gets resumed.  However, writing to the session is only
      thread-safe for initial handshakes, as at other times the session
      object may be in a shared cache and in use by another thread at the
      same time.  Reflect this invariant in the code by only writing to
      s->session->cipher when it is currently NULL (we do not cache sessions
      with no cipher).  The code prior to this change would never actually
      change the (non-NULL) cipher value in a session object, since our
      server enforces that (pre-TLS-1.3) resumptions use the exact same
      cipher as the initial connection, and non-abbreviated renegotiations
      have produced a new session object before we get to this point.
      Regardless, include logic to detect such a condition and abort the
      handshake if it occurs, to avoid any risk of inadvertently using
      the wrong cipher on a connection.
      Reviewed-by: NTomas Mraz <tmraz@fedoraproject.org>
      (Merged from https://github.com/openssl/openssl/pull/10943)
      
      (cherry picked from commit 2e3ec2e1578977fca830a47fd7f521e290540e6d)
      44bad9cb
  15. 27 2月, 2020 2 次提交
  16. 21 2月, 2020 1 次提交
  17. 15 2月, 2020 1 次提交
  18. 07 2月, 2020 1 次提交
  19. 06 2月, 2020 1 次提交
  20. 02 1月, 2020 1 次提交
  21. 16 12月, 2019 1 次提交
  22. 15 12月, 2019 1 次提交
  23. 17 11月, 2019 1 次提交
  24. 08 11月, 2019 1 次提交
  25. 15 10月, 2019 2 次提交
  26. 03 10月, 2019 1 次提交
  27. 15 9月, 2019 1 次提交
  28. 10 9月, 2019 3 次提交
  29. 08 8月, 2019 1 次提交
  30. 06 8月, 2019 2 次提交