Skip to content
  1. Jan 05, 2015
    • Dr. Stephen Henson's avatar
      Fix various certificate fingerprint issues. · 208a6012
      Dr. Stephen Henson authored
      
      
      By using non-DER or invalid encodings outside the signed portion of a
      certificate the fingerprint can be changed without breaking the signature.
      Although no details of the signed portion of the certificate can be changed
      this can cause problems with some applications: e.g. those using the
      certificate fingerprint for blacklists.
      
      1. Reject signatures with non zero unused bits.
      
      If the BIT STRING containing the signature has non zero unused bits reject
      the signature. All current signature algorithms require zero unused bits.
      
      2. Check certificate algorithm consistency.
      
      Check the AlgorithmIdentifier inside TBS matches the one in the
      certificate signature. NB: this will result in signature failure
      errors for some broken certificates.
      
      3. Check DSA/ECDSA signatures use DER.
      
      Reencode DSA/ECDSA signatures and compare with the original received
      signature. Return an error if there is a mismatch.
      
      This will reject various cases including garbage after signature
      (thanks to Antti Karjalainen and Tuomo Untinen from the Codenomicon CROSS
      program for discovering this case) and use of BER or invalid ASN.1 INTEGERs
      (negative or with leading zeroes).
      
      CVE-2014-8275
      Reviewed-by: default avatarEmilia Käsper <emilia@openssl.org>
      
      (cherry picked from commit 684400ce)
      
      Conflicts:
      	CHANGES
      	crypto/dsa/dsa_asn1.c
      208a6012
    • Dr. Stephen Henson's avatar
      Constify ASN1_TYPE_cmp add X509_ALGOR_cmp. · d7f8a7ca
      Dr. Stephen Henson authored
      
      
      Reviewed-by: default avatarEmilia Käsper <emilia@openssl.org>
      (cherry picked from commit 4c52816d)
      
      Conflicts:
      	crypto/asn1/x_algor.c
      	crypto/x509/x509.h
      d7f8a7ca
    • Dr. Stephen Henson's avatar
      Reject invalid constructed encodings. · 0f1c30b0
      Dr. Stephen Henson authored
      
      
      According to X6.90 null, object identifier, boolean, integer and enumerated
      types can only have primitive encodings: return an error if any of
      these are received with a constructed encoding.
      Reviewed-by: default avatarEmilia Käsper <emilia@openssl.org>
      
      (cherry picked from commit f5e4b6b5)
      
      Conflicts:
      	crypto/asn1/asn1_err.c
      0f1c30b0
  2. Dec 19, 2014
  3. Dec 18, 2014
  4. Dec 17, 2014
  5. Dec 16, 2014
  6. Dec 15, 2014
  7. Dec 13, 2014
  8. Dec 12, 2014
  9. Dec 08, 2014
  10. Dec 04, 2014
  11. Dec 03, 2014
  12. Nov 28, 2014
  13. Nov 27, 2014
  14. Nov 26, 2014