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": [ { "libssl1.0.0-udeb-dbgsym": "1.0.1f-1ubuntu2.27+esm1", "libssl-dev": "1.0.1f-1ubuntu2.27+esm1", "libssl1.0.0": "1.0.1f-1ubuntu2.27+esm1", "libssl-doc": "1.0.1f-1ubuntu2.27+esm1", "libcrypto1.0.0-udeb-dbgsym": "1.0.1f-1ubuntu2.27+esm1", "libssl1.0.0-dbg": "1.0.1f-1ubuntu2.27+esm1", "libssl-dev-dbgsym": "1.0.1f-1ubuntu2.27+esm1", "openssl": "1.0.1f-1ubuntu2.27+esm1", "openssl-dbgsym": "1.0.1f-1ubuntu2.27+esm1", "libssl1.0.0-udeb": "1.0.1f-1ubuntu2.27+esm1", "libssl1.0.0-dbgsym": "1.0.1f-1ubuntu2.27+esm1", "libcrypto1.0.0-udeb": "1.0.1f-1ubuntu2.27+esm1" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "libssl1.0.0-udeb-dbgsym": "1.0.2g-1ubuntu4.15", "libssl-dev": "1.0.2g-1ubuntu4.15", "libssl1.0.0": "1.0.2g-1ubuntu4.15", "libssl-doc": "1.0.2g-1ubuntu4.15", "libcrypto1.0.0-udeb-dbgsym": "1.0.2g-1ubuntu4.15", "libssl1.0.0-dbg": "1.0.2g-1ubuntu4.15", "libssl-dev-dbgsym": "1.0.2g-1ubuntu4.15", "openssl": "1.0.2g-1ubuntu4.15", "openssl-dbgsym": "1.0.2g-1ubuntu4.15", "libssl1.0.0-udeb": "1.0.2g-1ubuntu4.15", "libssl1.0.0-dbgsym": "1.0.2g-1ubuntu4.15", "libcrypto1.0.0-udeb": "1.0.2g-1ubuntu4.15" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "libssl-doc": "1.1.0g-2ubuntu4.3", "libssl-dev": "1.1.0g-2ubuntu4.3", "libssl1.1-dbgsym": "1.1.0g-2ubuntu4.3", "libssl1.1-udeb": "1.1.0g-2ubuntu4.3", "libssl1.1": "1.1.0g-2ubuntu4.3", "openssl-dbgsym": "1.1.0g-2ubuntu4.3", "libcrypto1.1-udeb": "1.1.0g-2ubuntu4.3", "openssl": "1.1.0g-2ubuntu4.3" } ] }
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "libssl1.0.0-dbgsym": "1.0.2n-1ubuntu5.3", "libssl1.0-dev": "1.0.2n-1ubuntu5.3", "openssl1.0": "1.0.2n-1ubuntu5.3", "openssl1.0-dbgsym": "1.0.2n-1ubuntu5.3", "libssl1.0.0-udeb": "1.0.2n-1ubuntu5.3", "libssl1.0.0": "1.0.2n-1ubuntu5.3", "libcrypto1.0.0-udeb": "1.0.2n-1ubuntu5.3" } ] }