RSSAmplifier

Blog

OpenSSL Valhalla Rampage

Tearing apart OpenSSL, one arcane VMS hack at a time. Like what OpenBSD is doing to OpenSSL? Donate here.

opensslrampage.orgRSS feed ↗20 posts

Latest posts

LibreSSL 2.1.1 released

LibreSSL 2.1.1 released : LibreSSL now turns off SSL 3 by default as a fix for POODLE. Thanks to the awesome people that have made this possible. Remember to donate!

LibreSSL 2.1.0 released

LibreSSL 2.1.0 released : Many thanks to all of the awesome hackers that have made this release possible. Again, if you like the work that OpenBSD is doing, please donate here

Add ressl_config_clear_keys()

Add ressl_config_clear_keys() : Provide a ressl config function that explicitly clears keys. Now that ressl config takes copies of the keys passed to it, the keys need to be explicitly cleared. While this can be done by calling the appropriate functions with a NULL pointer, it is simpler and more obvious to call one function that does this for you. — jsing

Add SSL_CTX_use_certificate_chain()

Add SSL_CTX_use_certificate_chain() : Add a new API function SSL_CTX_use_certificate_chain() that allows to read the PEM-encoded certificate chain from memory instead of a file. This idea is derived from an older implementation in relayd that was needed to use the function with a privep'ed process in a chroot. Now it is time to get it into LibreSSL to make the API more privsep- friendly and to…

Don't overzealously free(3) what you did not allocate

Don't overzealously free(3) what you did not allocate : X509v3_add_ext(): do not free stuff we did not allocate in the error path. — miod

Don't dereference when NULL, also don't leak memory

Don't dereference when NULL, also don't leak memory : X509_TRUST_add(): check X509_TRUST_get0() return value before dereferencing it, for it may be NULL. Do not leak memory upon error. — miod

Don't avoid your own API for the sake of misguided cleverness

Don't avoid your own API for the sake of misguided cleverness : Someone ™ thought it was smart to save memory by using malloc(1) and manual field fiddling to create an ASN1_INTEGER object, instead of using M_ASN1_INTEGER_new() which will allocate sizeof(long) bytes. That person had probably never looked into malloc(3) and never heard of allocation size rounding. Thus, replace the obfuscated code…

Config interface should own its own memory

Config interface should own its own memory : revamp the config interface to own memory. easier to use correctly without caller worrying about leaks or lifetimes. — tedu

Re-enable ghash assembly on hppa

Re-enable ghash assembly on hppa : Revert r1.5 and reenable assembler version of ghash now that it has been fixed. — miod

Disable more ghash hppa assembler

Disable more ghash hppa assembler : Doh, rev 1.4 had left out one routine with both 32-bit and 64-bit code, where the 64-bit code has to be disabled under OpenBSD/hppa. — miod

Disable assembly code for ghash on hppa

Disable assembly code for ghash on hppa : Disable assembler code for ghash on hppa, causes wrong computations in some cases and breaks TLS 1.2; crank libcrypto.so minor version out of safety and to be able to tell broken versions apart easily. — miod

Don't double NULL check ecdhp

Don't double NULL check ecdhp : There is not much point checking ecdhp is not NULL… twice. — jsing

Ensure that client actually wants the curve that the server has chosen

Ensure that client actually wants the curve that the server has chosen : Check that the specified curve is one of the client preferences. Based on OpenSSL. — jsing

Only check mmap(2) return value for MAP_FAILED

Only check mmap(2) return value for MAP_FAILED : Fix mmap() calls that check for a result other than MAP_FAILED. — doug

Another memory leak in an error-handling codepath

Another memory leak in an error-handling codepath : X509_STORE_new(): do not leak memory upon error. X509_STORE_get1_certs(), X509_STORE_get1_crls(): check the result of allocations.

Don't leak memory in error-handling codepaths

Don't leak memory in error-handling codepaths : X509_issuer_and_serial_hash(): do not leak memory if an error occurs during the first EVP block. — miod

Don't free what you didn't allocate

Don't free what you didn't allocate : X509at_add1_attr(): do not free stuff we did not allocate in the error path. — miod

Use static version of default EC formats

Use static version of default EC formats : Now that we have a static version of the default EC formats, also use it for the server hello. From OpenSSL. — jsing

LibreSSL: More Than 30 Days Later

LibreSSL: More Than 30 Days Later

Use strndup(3) instead of strdup(3)

Use strndup(3) instead of strdup(3) : Fix regression introduced in revision 1.15 by using strndup() instead of strdup() to allocated directory list components. — miod