Where is openssl installed on solaris




















New build option "fipscanisteronly". This only builds fipscanister. Uses the file Makefile. Add internal IV generator. The tag can be set or retrieved with a ctrl. The IV length is by default 12 bytes 96 bits but can be set to an alternative value. If the IV length exceeds the maximum IV length currently 16 bytes it cannot be set before the key. Also if the input buffer is NULL and length 0 finalisation should be performed.

This should help trace issues which normally are only apparent in deployed multi-process servers. Fix many cases where return value is ignored. This makes use of a gcc attribute to warn if the result of a function is ignored. Add to several functions in evp.

These allow SCTs signed certificate timestamps to be requested and validated when establishing a connection. For some reason, the corresponding target 'androidaarch64' was missing OpenSSL 1. This omission has been fixed. If the application then behaves differently based on that in a way that is detectable to the remote peer, then this amounts to a padding oracle that could be used to decrypt data.

In order for this to be exploitable "non-stitched" ciphersuites must be in use. Stitched ciphersuites are optimised implementations of certain commonly used ciphersuites. An attacker with sufficient access to mount local timing attacks during ECDSA signature generation could recover the private key. The intent was that if a fatal error occurred during a handshake then OpenSSL would move into the error state and would immediately fail if you attempted to continue the handshake.

In that scenario, if the handshake fails then a fatal error will be returned in the initial function call. This issue only affects the OpenSSL 1. The use of SHA in TLS session tickets is comparatively rare as it requires a custom server callback and ticket lookup mechanism. This could be a problem if an overly large certificate or CRL is printed out from an untrusted source. TLS is not affected because record limits will reject an oversized certificate before it is parsed.

Therefore the above idiom is actually undefined behaviour. Operations in the DSA signing algorithm should run in constant time in order to avoid side channel attacks. This has been demonstrated through a cache-timing attack to be sufficient for an attacker to recover the private DSA key.

In a DTLS connection where handshake messages are delivered out-of-order those messages that OpenSSL is not yet ready to process will be buffered for later use.

Under certain circumstances, a flaw in the logic means that those messages do not get removed from the buffer even though the handshake has been completed. An attacker could force up to approx. These messages will be cleared when the DTLS connection is closed. The default maximum size for a message is k.

Therefore the attacker could force an additional k to be consumed per connection. By opening many simulataneous connections an attacker could cause a DoS attack through memory exhaustion.

A flaw in the DTLS replay attack protection mechanism means that records that arrive for future epochs update the replay protection "window" before the MAC for the record has been validated.

This could be exploited by an attacker by sending a record for the next epoch which does not have to decrypt or have a valid MAC , with a very large sequence number. This means that all subsequent legitimate packets are dropped causing a denial of service for a specific DTLS connection.

In OpenSSL 1. There is a theoretical DoS risk but this has not been observed in practice on common platforms. The messages affected are client certificate, client certificate request and server certificate. As a result the attack can only be performed against a client or a server which enables client authentication.

This issue was introduced as part of the fix for Lucky 13 padding attack CVE The padding check was rewritten to be in constant time by making sure that always the same bytes are read and compared against either the MAC or padding bytes. But it no longer checked that there was enough data to have both the MAC and padding bytes.

If an attacker is able to supply very large amounts of input data then a length check can overflow resulting in a heap corruption. These are mainly used within the OpenSSL command line applications, so any application which processes data from an untrusted source and outputs it as a PEM file should be considered vulnerable to this issue. User applications that call these APIs directly with large amounts of untrusted data may also be vulnerable.

This issue was reported by Guido Vranken. Since all instances are one of these two forms, it is believed that there can be no overflows in internal code due to this problem. All instances of these calls have also been analysed too and it is believed there are no instances in internal usage where an overflow could occur. When ASN. Any application parsing untrusted data through d2i BIO functions is affected. This issue was reported by Brian Carpenter.

This could result in arbitrary stack data being returned in the buffer. Only remove the SSLv2 methods with the no-ssl2-method option. When the methods are enabled and ssl2 is disabled the methods return NULL. Disable SSLv2 default build, default negotiation and weak ciphers. SSLv2 is by default disabled at build-time. Builds that are not configured with "enable-ssl2" will not support SSLv2.

This scenario is considered rare. In this case memory is allocated to the internal BIGNUM data field, but it is insufficiently sized leading to heap corruption. This is anticipated to be a rare occurrence. All OpenSSL internal usage of these functions use data that is not expected to be untrusted, e. If user developed applications generate config file data based on untrusted data then it is possible that this could also lead to security consequences.

This is also anticipated to be rare. Memory leaks can also occur. The first issue may mask the second issue dependent on compiler behaviour. If applications use these functions in this way then they could be vulnerable. Therefore applications that print this data could be vulnerable if the data is from untrusted sources.

Libssl is not considered directly vulnerable. Additionally certificates etc received via remote connections via libssl are also unlikely to be able to trigger these issues because of message size limits enforced within libssl.

A side-channel attack was found which makes use of cache-bank conflicts on the Intel Sandy-Bridge microarchitecture which could lead to the recovery of RSA keys. The ability to exploit this issue is limited as it relies on an attacker who has control of code in a thread running on the same hyper-threaded core as the victim thread which is performing decryptions.

More recently in version 1. The primes used in such files may not be "safe". Where an application is using DH configured with parameters based on primes that are not "safe" then an attacker could use this fact to find a peer's private DH exponent. This attack requires that the attacker complete multiple handshakes in which the peer uses the same private DH exponent. It is not on by default. If the option is not set then the server reuses the same private DH exponent for the life of the server process and would be vulnerable to this attack.

It is believed that many popular applications do set this option and would therefore not be at risk. The fix for this issue adds an additional check where a "q" parameter is available as is the case in X9. This detects the only known attack, and is the only possible defense for static DH ciphersuites.

This could have some performance impact. Since these routines are used to verify certificate signature algorithms this can be used to crash any certificate verification operation and exploited in a DoS attack. Any application which performs certificate verification is vulnerable including OpenSSL clients and servers which enable client authentication.

During certificate verification, OpenSSL will attempt to find an alternative certificate chain if the first attempt to build such a chain fails. An error in the implementation of this logic can mean that an attacker could cause certain checks on untrusted certificates to be bypassed, such as the CA flag, enabling them to use a valid leaf certificate to act as a CA and "issue" an invalid certificate.

The previous ABI has now been restored. When processing an ECParameters structure OpenSSL enters an infinite loop if the curve specified is over a specially malformed binary polynomial field. This can be used to perform denial of service against any system which processes public keys, certificate requests or certificates. An attacker can use this to craft malformed certificates and CRLs of various sizes and potentially cause a segmentation fault, resulting in a DoS on applications that verify certificates or CRLs.

TLS clients and servers with client authentication enabled may be affected if they use custom verification callbacks. An attacker can craft malformed ASN. OpenSSL clients and servers are not affected. This can be used to perform denial of service against any system which verifies signedData messages using the CMS code. If a NewSessionTicket is received by a multi-threaded client when attempting to reuse a previous ticket then a race condition can occur potentially leading to a double free of the ticket data.

Of supported curves, prefer P both. If a client connects to an OpenSSL 1. This can be exploited in a DoS attack against the server. Typically, when the user application is using a socket BIO for writing, this will only result in a failed connection. However if some other BIO is used then it is likely that a segmentation fault will be triggered, thus enabling a potential DoS attack. Errors processing the initial ClientHello can trigger this scenario. An example of such an error could be that a DTLS1.

Reusing a structure in ASN. Such reuse is and has been strongly discouraged and is believed to be rare. If client auth is used then a server can seg fault in the event of a DHE ciphersuite being selected and a zero length ClientKeyExchange message being sent by the client.

This could be exploited in a DoS attack. Under certain conditions an OpenSSL 1. The conditions are:. If the handshake succeeds then the client random that has been used will have been generated from a PRNG with insufficient entropy and therefore the output may be predictable. For example using the following command with an unseeded openssl will succeed on an unpatched platform:.

This issue was discovered by the BoringSSL project and fixed in their commit cd4b. This function is rarely used in practice. This issue was discovered by Brian Carpenter. So far those who have to target multiple platforms would compromise and argue that binary targeting say ARMv5 would still execute on ARMv8.

Certain input points at infinity could lead to bogus results, with non-infinity inputs mapped to infinity too. Initial support for PowerISA 2.

Both and bit modes are supported. Support for DTLS 1. Also prints an abbreviated summary of the connection parameters. Add support to "crl" utility. These provide a common framework for application configuration using configuration files or command lines. Needs compile time option "enable-ssl-trace". New ctrl and macro to retrieve supported points extensions. New chain verification flags for Suite B levels of security.

Add additional tests to handle client certificates: checks for matching certificate type and issuer name comparison. If an attempt is made to use a signature algorithm not in the peer preference list abort the handshake. If client has no suitable signature algorithms in response to a certificate request do not use the certificate. Add support for certificate stores in CERT structure.

Include distinct stores for certificate chain verification and chain building. New ctrls to retrieve and set certificate types in a certificate request message. If certificate types is not set with custom values set sensible values based on supported signature algorithms.

Add certificate callback. If set this is called whenever a certificate is required by client or server. An application can decide which certificate chain to present based on arbitrary criteria: for example supported signature algorithms.

This fixes many of the problems and restrictions of the existing client certificate callback: for example you can now clear an existing certificate and specify the whole chain.

This enforces some TLS certificate requirements such as only permitting certificate signature algorithms contained in the supported algorithms extension which some implementations ignore: this option should be used with caution as it could cause interoperability issues.

Update and tidy signature algorithm extension processing. Abort handshake if no shared signature algorithms. Before this once a certificate had been added it couldn't be removed. Integrate hostname, email address and IP address checking with certificate verification. New verify options supporting checking in openssl utility. New functions to check a hostname email or IP address against a certificate. Add options x utility to print results of checks against a certificate.

Rob Stradling rob. Initial experimental support for explicitly trusted non-root CAs. OpenSSL still tries to build a complete chain to a root but if an intermediate CA has a trust setting included that is used.

The first setting is used: whether to trust e. Transparently support X9. This means existing applications can handle the new parameter format automatically.

Initial experimental support for X9. Support for automatic EC temporary key parameter selection. If enabled the most preferred EC parameters are automatically used instead of hardcoded fixed parameters. Use static structures instead of allocation if default values are used. New ctrls to set curves we wish to support and to retrieve shared curves. New ctrls to retrieve supported signature algorithms and supported curve values as an array of NIDs.

Extend openssl utility to print out received values. Support for fixed DH ciphersuite client authentication: where both server and client use DH certificates with common parameters.

Note: Related 1. During certificate verfification, OpenSSL will attempt to find an alternative certificate chain if the first attempt to build such a chain fails. This can result in a race condition potentially leading to a double free of the identify hint data.

This could lead to a Denial Of Service attack. In particular this could occur if an attacker sent repeated DTLS records with the same sequence number but for the next epoch. The memory leak could be exploited by an attacker in a Denial of Service attack through memory exhaustion.

Thanks to Chris Mueller for reporting this issue. Fix issue where no-ssl3 configuration sets method to NULL. Thanks to Frank Schmirler for reporting this issue. Remove non-export ephemeral RSA code on client and server. This code violated the TLS standard by allowing the use of temporary RSA keys in non-export ciphersuites and could be used by a server to effectively downgrade the RSA key length used to a value smaller than the server certificate.

Fixed issue where DH client certificates are accepted without verification. This effectively allows a client to authenticate without the use of a private key. This only affects servers which trust a client certificate authority which issues certificates containing DH keys: these are extremely rare and hardly ever encountered. 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. All current signature algorithms require zero unused bits. NB: this will result in signature failure errors for some broken certificates. Return an error if there is a mismatch. Correct Bignum squaring. This bug occurs at random with a very low probability, and is not known to be exploitable in any way, though its exact impact is difficult to determine.

Thanks to Pieter Wuille Blockstream who reported this issue and also suggested an initial fix. Do not resume sessions on the server if the negotiated protocol version does not match the session's version.

Resuming with a different version, while not strictly forbidden by the RFC, is of questionable sanity and breaks all known clients. Note that because renegotiation is encrypted, this early CCS was not exploitable.

Tighten client-side session ticket handling during renegotiation: ensure that the client only accepts a session ticket if the server sends the extension anew in the ServerHello. Previously, a TLS client would reuse the old extension state and thus accept a session ticket if one was announced in the initial ServerHello.

Similarly, ensure that the client requires a session ticket if one was advertised in the ServerHello. This issue affects OpenSSL 1. The fix was developed by the OpenSSL team. In the event of a session ticket integrity check failing, OpenSSL will fail to free memory causing a memory leak.

By sending a large number of invalid session tickets an attacker could exploit this issue in a Denial Of Service attack. Fix SRP buffer overrun vulnerability. Invalid parameters passed to the SRP code can be overrun an internal buffer. This allows a man-in-the-middle attacker to force a downgrade to TLS 1. A malicious server can crash the client with a null pointer dereference read by specifying an anonymous EC DH ciphersuite and sending carefully crafted handshake messages.

By sending carefully crafted DTLS packets an attacker could cause openssl to leak memory. This can be exploited through a Denial of Service attack. Thanks to Adam Langley for discovering and researching this issue. An attacker can force openssl to consume large amounts of memory whilst processing DTLS handshake messages. An attacker can force an error condition which causes openssl to crash whilst processing DTLS packets due to memory being freed twice. If a multithreaded client connects to a malicious server using a resumed session and the server sends an ec point format extension it could write up to bytes to freed memory.

A malicious server can crash an OpenSSL client with a null pointer dereference read by specifying an SRP ciphersuite even though it was not properly negotiated with the client.

Applications may be affected if they echo pretty printing output to the attacker. Thanks to Ivan Fratric Google for discovering this issue. Fix DTLS recursion flaw. Fix DTLS invalid fragment vulnerability. This is potentially exploitable to run arbitrary code on a vulnerable client or server. Fix for TLS record tampering bug. Thanks to Anton Johansson for reporting this issues. Keep original DTLS digest and encryption contexts in retransmission structures so we can use the previous session parameters if they need to be resent.

Safari on OS X The bug is fixed in OS X Correct fix for CVE Thanks go to and to Adam Langley agl chromium. This fixes a DoS attack. Thanks to Codenomicon for discovering this issue using Fuzz-o-Matic fuzzing as a service testing platform.

Initialise tkeylen properly when encrypting CMS messages. Thanks to Solar Designer of Openwall for reporting this issue. Letting be results in inability to disable specifically TLS 1. In more practical terms it means that if application wants to disable TLS1. This applies to client side. Workarounds for some broken servers that "hang" if a client hello record length exceeds bytes. Some servers which support TLS 1.

As a workaround use the maximum permitted client version in client hello, this should keep such servers happy and still work with previous versions of OpenSSL. Robin Seggelmann seggelmann fh-muenster. Peter Sylvester peter. Can be disabled with a no-npn flag to config or Configure. Code donated by Google. Code made available under Apache License version 2. New -sigopt option to the ca, req and x utilities. Additional signature parameters can be passed using this option and in particular PSS.

No application support yet. Support for companion algorithm specific ASN1 signing routines. Add algorithm specific signature printing. An individual ASN1 method can now print out signatures instead of the standard hex dump.

More complex signatures e. PSS can print out more meaningful information. Include DSA version that prints out the signature parameters r, s. Permit setting invocation field on decrypt and retrieval of invocation field only on encrypt.

Peter Eckersley pde eff. Backport libcrypto audit of return value checking from 1. Update build system to add "fips" flag which will link in fipscanister. Output TLS supported curves in preference order instead of numerical order. This is currently hardcoded for the highest order curves first. This should be configurable so applications can judge speed vs strength.

Add TLS v1. Keep cache of handshake records longer as we don't know the hash algorithm to use until after the certificate request message is received. Initial TLS v1. Add a default signature algorithms extension including all the algorithms we support. Parse new signature format in client key exchange. Add server support for TLS v1. Switch to new signature format when needed using client digest preference.

All server ciphersuites should now work correctly in TLS v1. No client support yet and no support for client certificates. Add new SHA based ciphersuites. Add new option for TLS v1. New TLSv1. If an application can be compiled with this defined it will not be affected by any changes to ssl internal structures. Christophe Renou christophe. Initial TLSv1. Since TLSv1. Update version checking logic to handle version 1.

This is a backport. When RSA decryption fails use a random key for content decryption and always return the same error. Thanks to Ivan Nestlerode inestlerode us. Their attack exploits timing differences arising during decryption processing. Clear bytes used for block padding of SSL 3. Thanks to George Kadianakis desnacked gmail. Prevent malformed RFC data triggering an assertion failure. Remove hard coded ecdsaWithSHA1 signature tests in ssl code and check signature public key algorithm by using OID xref utilities instead.

Fix bug in string printing code: if any escaping is enabled we must escape the escape character backslash or the resulting string is ambiguous. Disable code workaround for ancient and obsolete Netscape browsers and servers: an attacker can use it in a ciphersuite downgrade attack.

Thanks to Martin Rex for discovering this bug. Note that this fix is a security fix. Fix extension code to avoid race conditions which can result in a buffer overrun vulnerability: resumed sessions must not be modified as they can be shared by multiple threads. Steve Henson, Peter-Michael Hager hager dortmund. This copies a cipher context.

Fix compression algorithm handling: if resuming a session use the compression algorithm of the resumed session instead of determining it from client hello again. Don't allow server to change algorithm. Add option to verify utility to allow additional CRLs to be included. Update OCSP request code to permit adding custom headers to the request: some responders need this. This makes it possible to determine whether the BIO is the one explicitly called or as a result of the ctrl being passed down the chain.

Print out all registered digests in the dgst usage message instead of manually attempting to work them out. If no SSLv2 ciphers are used don't use an SSLv2 compatible client hello: this allows the use of compression and extensions.

Change default cipher string to remove SSLv2 ciphersuites. This effectively avoids ancient SSLv2 by default unless an application cipher string requests it. It used to try to use local key ids to find matching certificates and keys but some PKCS 12 files don't follow the somewhat unwritten rules and this strategy fails.

Now just gather all certificates together and the first private key then look for the first certificate that matches the key. Support use of registered digest and cipher names for dgst and cipher commands instead of having to add each one as a special case. So now you can do:. Oliver Martin oliver volatilevoid. Enhance the hash format used for certificate directory links. The new form uses the canonical encoding meaning equivalent names will work even if they aren't identical and uses SHA1 instead of MD5.

Make PKCS 8 the default write format for private keys, replacing the traditional format. This form is standardised, more secure and doesn't include an implicit MD5 dependency. The idea is that any code committed to OpenSSL should pass this lot as a minimum.

Modify HMAC functions to return a value. Also some constification necessitated by type-checking. This avoids any issues with OS routines such as the year bug. Delta CRL support. New use deltas option which will attempt to locate and search any appropriate delta CRLs available. Support for CRLs partitioned by reason code. Reorganise CRL processing code and add additional score elements. Applications wanting additional details can use the verify callback and check the new "parent" field.

Existing applications won't see this because it requires extended CRL support which is off by default. Initial indirect CRL support. Currently only supported in the CRLs passed directly and not via lookup. Add support for distinct certificate and CRL paths.

The CRL issuer certificate is validated separately in this case. Support for name constraints certificate extension. To cater for systems that provide a pointer-based thread ID rather than numeric, deprecate the current numeric thread ID mechanism and replace it with a structure and associated callback type. This mechanism allows a numeric "hash" to be extracted from a thread ID in either case, and on platforms where pointers are larger than 'long', mixing is done to help ensure the numeric 'hash' is usable even if it can't be guaranteed unique.

Initial support for different CRL issuing certificates. This covers a simple case where the self issued certificates in the chain exist and the real CRL issuer is higher in the existing chain. This option can save about 34k per idle SSL. New cms directory and cms utility, support for data, signedData, compressedData, digestedData and encryptedData, envelopedData types included.

Scripts to check against RFC examples draft and interop and consistency checks of many content types and variants. Extend mk1mf to support importing of options and assembly language files from Configure script, currently only included in VC-WIN The assembly language rules can now optionally generate the source files from the associated perl scripts. Implement remaining functionality needed to support GOST ciphersuites. Interop testing has been performed using CryptoPro implementations.

Since this is not an official specification yet and no extension type assignment by IANA exists, this extension for now will have to be explicitly enabled when building OpenSSL by providing the extension number to use.

For example, specify an option. Note that by doing so, you potentially lose interoperability with other TLS implementations since these might be using the same extension number for other purposes. This will create an internal copy of the length-'len' string at 'src', and will return non-zero for success.

The callback function has to return non-zero to report success: usually 1 to use opaque PRF input just if possible, or 2 to enforce use of the opaque PRF input. In the latter case, the library will abort the handshake if opaque PRF input is not successfully negotiated. Arguments 'peerinput' and 'len' given to the callback function will always be NULL and 0 in the case of a client. Note that if the server provides an opaque PRF input, the length must be the same as the length of the client's opaque PRF input.

Note that the callback function will only be called when creating a new session session resumption can resume whatever was previously negotiated , and will not be called in SSL 2.

This includes the corrections in RFCbis. Add a TLS extension debugging callback to allow the contents of any client or server extensions to be examined. Final changes to avoid use of pointer pointer casts in OpenSSL. Yes you have to pay for our service to compile then, but you do have the advantage that the packages are compiled by folks that have been doing this for over 20 years for the Solaris community, and they come with some level of support and provide all the required dependencies too.

Note that the latest version 1. Sign up to join this community. The best answers are voted up and rise to the top. Stack Overflow for Teams — Collaborate and share knowledge with a private group. Create a free Team What is Teams? Learn more. Asked 8 years, 1 month ago. Active 7 years, 7 months ago. Viewed 16k times. Thanks in advance. Improve this question. I suggest you remove the links to the websites, as they don't seem legit.

Why don't you just simply compile the source on Solaris? The applications contained in the library help create a secure communication environment for computer networks. The openssl version command allows you to determine the version your system is currently using.

This information is useful if you want to find out if a particular feature is available, verify whether a security threat affects your system, or perhaps report a bug. Type in:. The resulting data will consist of the OpenSSL version designation and the date of its initial release.

The output is clear and easy to understand. We can break down the version format to get valuable insight. Additionally, using flags can help structure the data. The format of the version provides a lot of information. The position of the numbers represent the release type:.



0コメント

  • 1000 / 1000