If an application encounters a fatal protocol error and then calls SSLshutdown() twice (once to send a closenotify, and once to receive one) then OpenSSL can respond differently to the calling application if a 0 byte record is received with invalid padding compared to if a 0 byte record is received with an invalid MAC. 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. Also the application must call SSL_shutdown() twice even if a protocol error has occurred (applications should not do this but some do anyway). Fixed in OpenSSL 1.0.2r (Affected 1.0.2-1.0.2q).
{ "availability": "Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro", "ubuntu_priority": "medium", "binaries": [ { "binary_name": "libcrypto1.0.0-udeb", "binary_version": "1.0.1f-1ubuntu2.27+esm1" }, { "binary_name": "libcrypto1.0.0-udeb-dbgsym", "binary_version": "1.0.1f-1ubuntu2.27+esm1" }, { "binary_name": "libssl-dev", "binary_version": "1.0.1f-1ubuntu2.27+esm1" }, { "binary_name": "libssl-dev-dbgsym", "binary_version": "1.0.1f-1ubuntu2.27+esm1" }, { "binary_name": "libssl-doc", "binary_version": "1.0.1f-1ubuntu2.27+esm1" }, { "binary_name": "libssl1.0.0", "binary_version": "1.0.1f-1ubuntu2.27+esm1" }, { "binary_name": "libssl1.0.0-dbg", "binary_version": "1.0.1f-1ubuntu2.27+esm1" }, { "binary_name": "libssl1.0.0-dbgsym", "binary_version": "1.0.1f-1ubuntu2.27+esm1" }, { "binary_name": "libssl1.0.0-udeb", "binary_version": "1.0.1f-1ubuntu2.27+esm1" }, { "binary_name": "libssl1.0.0-udeb-dbgsym", "binary_version": "1.0.1f-1ubuntu2.27+esm1" }, { "binary_name": "openssl", "binary_version": "1.0.1f-1ubuntu2.27+esm1" }, { "binary_name": "openssl-dbgsym", "binary_version": "1.0.1f-1ubuntu2.27+esm1" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_name": "libcrypto1.0.0-udeb", "binary_version": "1.0.2g-1ubuntu4.15" }, { "binary_name": "libcrypto1.0.0-udeb-dbgsym", "binary_version": "1.0.2g-1ubuntu4.15" }, { "binary_name": "libssl-dev", "binary_version": "1.0.2g-1ubuntu4.15" }, { "binary_name": "libssl-dev-dbgsym", "binary_version": "1.0.2g-1ubuntu4.15" }, { "binary_name": "libssl-doc", "binary_version": "1.0.2g-1ubuntu4.15" }, { "binary_name": "libssl1.0.0", "binary_version": "1.0.2g-1ubuntu4.15" }, { "binary_name": "libssl1.0.0-dbg", "binary_version": "1.0.2g-1ubuntu4.15" }, { "binary_name": "libssl1.0.0-dbgsym", "binary_version": "1.0.2g-1ubuntu4.15" }, { "binary_name": "libssl1.0.0-udeb", "binary_version": "1.0.2g-1ubuntu4.15" }, { "binary_name": "libssl1.0.0-udeb-dbgsym", "binary_version": "1.0.2g-1ubuntu4.15" }, { "binary_name": "openssl", "binary_version": "1.0.2g-1ubuntu4.15" }, { "binary_name": "openssl-dbgsym", "binary_version": "1.0.2g-1ubuntu4.15" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_name": "libcrypto1.1-udeb", "binary_version": "1.1.0g-2ubuntu4.3" }, { "binary_name": "libssl-dev", "binary_version": "1.1.0g-2ubuntu4.3" }, { "binary_name": "libssl-doc", "binary_version": "1.1.0g-2ubuntu4.3" }, { "binary_name": "libssl1.1", "binary_version": "1.1.0g-2ubuntu4.3" }, { "binary_name": "libssl1.1-dbgsym", "binary_version": "1.1.0g-2ubuntu4.3" }, { "binary_name": "libssl1.1-udeb", "binary_version": "1.1.0g-2ubuntu4.3" }, { "binary_name": "openssl", "binary_version": "1.1.0g-2ubuntu4.3" }, { "binary_name": "openssl-dbgsym", "binary_version": "1.1.0g-2ubuntu4.3" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_name": "libcrypto1.0.0-udeb", "binary_version": "1.0.2n-1ubuntu5.3" }, { "binary_name": "libssl1.0-dev", "binary_version": "1.0.2n-1ubuntu5.3" }, { "binary_name": "libssl1.0.0", "binary_version": "1.0.2n-1ubuntu5.3" }, { "binary_name": "libssl1.0.0-dbgsym", "binary_version": "1.0.2n-1ubuntu5.3" }, { "binary_name": "libssl1.0.0-udeb", "binary_version": "1.0.2n-1ubuntu5.3" }, { "binary_name": "openssl1.0", "binary_version": "1.0.2n-1ubuntu5.3" }, { "binary_name": "openssl1.0-dbgsym", "binary_version": "1.0.2n-1ubuntu5.3" } ] }