1. 21 Jun, 2018 7 commits
  2. 18 Jun, 2018 5 commits
  3. 15 Jun, 2018 1 commit
  4. 13 Jun, 2018 1 commit
    • Matt Caswell's avatar
      Add blinding to an ECDSA signature · 0c27d793
      Matt Caswell authored
      
      
      Keegan Ryan (NCC Group) has demonstrated a side channel attack on an
      ECDSA signature operation. During signing the signer calculates:
      
      s:= k^-1 * (m + r * priv_key) mod order
      
      The addition operation above provides a sufficient signal for a
      flush+reload attack to derive the private key given sufficient signature
      operations.
      
      As a mitigation (based on a suggestion from Keegan) we add blinding to
      the operation so that:
      
      s := k^-1 * blind^-1 (blind * m + blind * r * priv_key) mod order
      
      Since this attack is a localhost side channel only no CVE is assigned.
      
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      0c27d793
  5. 12 Jun, 2018 2 commits
  6. 11 Jun, 2018 1 commit
  7. 09 Jun, 2018 1 commit
  8. 08 Jun, 2018 1 commit
  9. 07 Jun, 2018 1 commit
    • Marcus Huewe's avatar
      Do not free a session before calling the remove_session_cb · 6849421c
      Marcus Huewe authored
      If the remove_session_cb accesses the session's data (for instance,
      via SSL_SESSION_get_protocol_version), a potential use after free
      can occur. For this, consider the following scenario when adding
      a new session via SSL_CTX_add_session:
      
      - The session cache is full
        (SSL_CTX_sess_number(ctx) > SSL_CTX_sess_get_cache_size(ctx))
      - Only the session cache has a reference to ctx->session_cache_tail
        (that is, ctx->session_cache_tail->references == 1)
      
      Since the cache is full, remove_session_lock is called to remove
      ctx->session_cache_tail from the cache. That is, it
      SSL_SESSION_free()s the session, which free()s the data. Afterwards,
      the free()d session is passed to the remove_session_cb. If the callback
      accesses the session's data, we have a use after free.
      
      The free before calling the callback behavior was introduced in
      commit e4612d02
      
       ("Remove sessions
      from external cache, even if internal cache not used.").
      
      CLA: trivial
      
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      Reviewed-by: default avatarMatt Caswell <matt@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/6222)
      
      (cherry picked from commit c0a58e03)
      6849421c
  10. 05 Jun, 2018 2 commits
  11. 02 Jun, 2018 1 commit
  12. 31 May, 2018 2 commits
  13. 30 May, 2018 1 commit
  14. 29 May, 2018 1 commit
  15. 26 May, 2018 1 commit
  16. 24 May, 2018 2 commits
  17. 23 May, 2018 2 commits
    • Viktor Dukhovni's avatar
      Skip CN DNS name constraint checks when not needed · 6d3cfd13
      Viktor Dukhovni authored
      
      
      Only check the CN against DNS name contraints if the
      `X509_CHECK_FLAG_NEVER_CHECK_SUBJECT` flag is not set, and either the
      certificate has no DNS subject alternative names or the
      `X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT` flag is set.
      
      Add pertinent documentation, and touch up some stale text about
      name checks and DANE.
      
      Reviewed-by: default avatarMatt Caswell <matt@openssl.org>
      Reviewed-by: default avatarTim Hudson <tjh@openssl.org>
      6d3cfd13
    • Viktor Dukhovni's avatar
      Limit scope of CN name constraints · c2c2c7b3
      Viktor Dukhovni authored
      
      
      Don't apply DNS name constraints to the subject CN when there's a
      least one DNS-ID subjectAlternativeName.
      
      Don't apply DNS name constraints to subject CN's that are sufficiently
      unlike DNS names.  Checked name must have at least two labels, with
      all labels non-empty, no trailing '.' and all hyphens must be
      internal in each label.  In addition to the usual LDH characters,
      we also allow "_", since some sites use these for hostnames despite
      all the standards.
      
      Reviewed-by: default avatarMatt Caswell <matt@openssl.org>
      Reviewed-by: default avatarTim Hudson <tjh@openssl.org>
      c2c2c7b3
  18. 21 May, 2018 2 commits
  19. 20 May, 2018 3 commits
  20. 19 May, 2018 1 commit
  21. 18 May, 2018 1 commit
  22. 17 May, 2018 1 commit
    • Matt Caswell's avatar
      Make BN_GF2m_mod_arr more constant time · 4652a14b
      Matt Caswell authored
      
      
      Experiments have shown that the lookup table used by BN_GF2m_mod_arr
      introduces sufficient timing signal to recover the private key for an
      attacker with access to cache timing information on the victim's host.
      This only affects binary curves (which are less frequently used).
      
      No CVE is considered necessary for this issue.
      
      The fix is to replace the lookup table with an on-the-fly calculation of
      the value from the table instead, which can be performed in constant time.
      
      Thanks to Youngjoo Shin for reporting this issue.
      
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      (Merged from https://github.com/openssl/openssl/pull/6270)
      
      (cherry picked from commit b336ce57)
      4652a14b