I like to study vulnerabilities to help me write more secure code. Here are the vulnerabilities listed in the March 19th OpenSSL advisory (secadv_20150319.txt), ordered by underlying cause.
Segfaults, enabling DoS (maybe worse)
NULL pointer dereference:
- OpenSSL 1.0.2 ClientHello sigalgs DoS (CVE-2015-0291): 34e3edb
- Multiblock corrupted pointer (CVE-2015-0290): 1d2a18d
- Segmentation fault for invalid PSS parameters (CVE-2015-0208): 09f0692
- PKCS7 NULL pointer dereferences (CVE-2015-0289): c225c3c
- X509_to_X509_REQ NULL pointer deref (CVE-2015-0288): 28a00bc
State reuse:
- Segmentation fault in DTLSv1_listen (CVE-2015-0207): e83ee04
- ASN.1 structure reuse memory corruption (CVE-2015-0287): 8106d61
Underflow:
- Base64 decode (CVE-2015-0292): d0666f2
Double free / use after free:
Unhandled dynamic type:
- Segmentation fault in ASN1_TYPE_cmp (CVE-2015-0286): e677e8d
Unclear:
- Empty CKE with client auth and DHE (CVE-2015-1787): d3cc5e6
Failed assert, enabling DoS
- DoS via reachable assert in SSLv2 servers (CVE-2015-0293): 86f8fb0
Cryptographic vulnerabilities, enabling MITM
Cipher downgrade:
- Reclassified: RSA silently downgrades to EXPORT_RSA [Client] (CVE-2015-0204): ce325c6
Bad randomness:
- Handshake with unseeded PRNG (CVE-2015-0285): e1b568d