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_version": "1.0.1f-1ubuntu2.27+esm1", "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" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "1.0.2g-1ubuntu4.15", "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" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "1.1.0g-2ubuntu4.3", "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" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "1.0.2n-1ubuntu5.3", "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" } ] }