Cloudanix VulnDB

CVE-2017-3737

Medium · 5.9

CVSS

5.9

EPSS

78.7%

Published

Dec 7, 2017

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Attend

Older versions of widely used encryption software can accidentally send information without protection when connection problems occur, potentially letting attackers see private data.

Chainable
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
High
Impact
Data Exposure
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The error state mechanism fails to persist across direct SSL_read()/SSL_write() calls after a fatal handshake error, allowing subsequent operations to return success and pass record-layer data without encryption or decryption.

Why it matters to the business

Organizations running affected OpenSSL versions risk exposure of sensitive data in transit, increasing the chance of breaches and compliance violations; high EPSS score indicates elevated exploitation likelihood despite the CVE's age.

How an attack unfolds

An attacker initiates a TLS handshake that triggers a fatal error, then relies on an application flaw that issues SSL_read() or SSL_write() on the same session afterward; the call succeeds and the attacker obtains or injects plaintext data from the record layer.

How to fix it

Upgrade all instances of OpenSSL 1.0.2b through 1.0.2m to version 1.0.2n or newer; rebuild and redeploy dependent applications and restart services; apply vendor patches for Debian and other distributions.

How to confirm the fix worked

Verify installed OpenSSL version is 1.0.2n or later; review application source for direct use of SSL_read()/SSL_write() after handshake functions; test error-state behavior with crafted fatal handshake sequences.

Typical attack path

  1. Initiate TLS connection to trigger a fatal handshake error
  2. Exploit application logic that continues calling SSL_read()/SSL_write() after the error
  3. Observe or manipulate unencrypted record-layer data

How to detect it

Review TLS handshake logs for fatal errors followed immediately by successful read or write operations on the same session; inspect application logs for unexpected plaintext data after handshake failures.

What your security team should do

  • Prioritize upgrade of all OpenSSL 1.0.2 installations to 1.0.2n within the next maintenance window
  • Scan codebases for direct SSL_read()/SSL_write() usage after handshake calls
  • Monitor EPSS trend and reassess risk if exploit maturity increases

The record

OpenSSL 1.0.2 (starting from version 1.0.2b) introduced an "error state" mechanism. 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. This works as designed for the explicit handshake functions (SSL_do_handshake(), SSL_accept() and SSL_connect()), however due to a bug it does not work correctly if SSL_read() or SSL_write() is called directly. In that scenario, if the handshake fails then a fatal error will be returned in the initial function call. If SSL_read()/SSL_write() is subsequently called by the application for the same SSL object then it will succeed and the data is passed without being decrypted/encrypted directly from the SSL/TLS record layer. In order to exploit this issue an application bug would have to be present that resulted in a call to SSL_read()/SSL_write() being issued after having already received a fatal error. OpenSSL version 1.0.2b-1.0.2m are affected. Fixed in OpenSSL 1.0.2n. OpenSSL 1.1.0 is not affected.

Affected packages

Ecosystem Package Introduced Fixed
Alpine:v3.3 openssl 0 1.0.2n-r0
Alpine:v3.4 openssl 0 1.0.2n-r0
Alpine:v3.5 openssl 0 1.0.2n-r0
Alpine:v3.6 openssl 0 1.0.2n-r0
Alpine:v3.7 openssl 0 1.0.2n-r0
Alpine:v3.8 openssl 0 1.0.2n-r0
Debian:11 openssl 0 1.1.0b-2
Debian:12 openssl 0 1.1.0b-2
Debian:13 openssl 0 1.1.0b-2
Debian:9 openssl1.0 0 1.0.2l-2+deb9u2
Mageia:5 openssl 0 1.0.2n-1.mga5
Mageia:6 openssl 0 1.0.2n-1.mga6
Red Hat:enterprise_linux:7::client openssl 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::client openssl-debuginfo 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::client openssl-devel 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::client openssl-libs 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::client openssl-perl 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::client openssl-static 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::computenode openssl 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::computenode openssl-debuginfo 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::computenode openssl-devel 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::computenode openssl-libs 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::computenode openssl-perl 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::computenode openssl-static 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::server openssl 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::server openssl-debuginfo 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::server openssl-devel 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::server openssl-libs 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::server openssl-perl 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::server openssl-static 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::workstation openssl 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::workstation openssl-debuginfo 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::workstation openssl-devel 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::workstation openssl-libs 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::workstation openssl-perl 0 1:1.0.2k-12.el7
Red Hat:enterprise_linux:7::workstation openssl-static 0 1:1.0.2k-12.el7
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-apache-commons-daemon 0 0:1.1.0-1.redhat_2.1.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-apache-commons-daemon-jsvc 0 1:1.1.0-1.redhat_2.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-apache-commons-daemon-jsvc-debuginfo 0 1:1.1.0-1.redhat_2.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-apr 0 0:1.6.3-14.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-apr-debuginfo 0 0:1.6.3-14.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-apr-devel 0 0:1.6.3-14.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-apr-util 0 0:1.6.1-9.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-apr-util-debuginfo 0 0:1.6.1-9.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-apr-util-devel 0 0:1.6.1-9.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-apr-util-ldap 0 0:1.6.1-9.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-apr-util-mysql 0 0:1.6.1-9.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-apr-util-nss 0 0:1.6.1-9.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-apr-util-odbc 0 0:1.6.1-9.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-apr-util-openssl 0 0:1.6.1-9.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-apr-util-pgsql 0 0:1.6.1-9.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-apr-util-sqlite 0 0:1.6.1-9.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-httpd 0 0:2.4.29-17.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-httpd-debuginfo 0 0:2.4.29-17.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-httpd-devel 0 0:2.4.29-17.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-httpd-manual 0 0:2.4.29-17.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-httpd-selinux 0 0:2.4.29-17.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-httpd-tools 0 0:2.4.29-17.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-mod_auth_kerb 0 0:5.4-36.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-mod_auth_kerb-debuginfo 0 0:5.4-36.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-mod_bmx 0 0:0.9.6-17.GA.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-mod_bmx-debuginfo 0 0:0.9.6-17.GA.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-mod_cluster-native 0 0:1.3.8-1.Final_redhat_2.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-mod_cluster-native-debuginfo 0 0:1.3.8-1.Final_redhat_2.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-mod_jk 0 0:1.2.43-1.redhat_1.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-mod_jk-ap24 0 0:1.2.43-1.redhat_1.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-mod_jk-debuginfo 0 0:1.2.43-1.redhat_1.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-mod_jk-manual 0 0:1.2.43-1.redhat_1.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-mod_ldap 0 0:2.4.29-17.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-mod_proxy_html 0 1:2.4.29-17.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-mod_rt 0 0:2.4.1-19.GA.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-mod_rt-debuginfo 0 0:2.4.1-19.GA.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-mod_security 0 0:2.9.1-23.GA.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-mod_security-debuginfo 0 0:2.9.1-23.GA.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-mod_session 0 0:2.4.29-17.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-mod_ssl 0 1:2.4.29-17.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-nghttp2 0 0:1.29.0-8.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-nghttp2-debuginfo 0 0:1.29.0-8.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-nghttp2-devel 0 0:1.29.0-8.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-openssl 0 1:1.0.2n-11.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-openssl-debuginfo 0 1:1.0.2n-11.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-openssl-devel 0 1:1.0.2n-11.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-openssl-libs 0 1:1.0.2n-11.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-openssl-perl 0 1:1.0.2n-11.jbcs.el6
Red Hat:jboss_core_services:1::el6 jbcs-httpd24-openssl-static 0 1:1.0.2n-11.jbcs.el6
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-apache-commons-daemon 0 0:1.1.0-1.redhat_2.1.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-apache-commons-daemon-jsvc 0 1:1.1.0-1.redhat_2.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-apache-commons-daemon-jsvc-debuginfo 0 1:1.1.0-1.redhat_2.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-apr 0 0:1.6.3-14.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-apr-debuginfo 0 0:1.6.3-14.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-apr-devel 0 0:1.6.3-14.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-apr-util 0 0:1.6.1-9.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-apr-util-debuginfo 0 0:1.6.1-9.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-apr-util-devel 0 0:1.6.1-9.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-apr-util-ldap 0 0:1.6.1-9.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-apr-util-mysql 0 0:1.6.1-9.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-apr-util-nss 0 0:1.6.1-9.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-apr-util-odbc 0 0:1.6.1-9.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-apr-util-openssl 0 0:1.6.1-9.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-apr-util-pgsql 0 0:1.6.1-9.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-apr-util-sqlite 0 0:1.6.1-9.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-httpd 0 0:2.4.29-17.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-httpd-debuginfo 0 0:2.4.29-17.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-httpd-devel 0 0:2.4.29-17.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-httpd-manual 0 0:2.4.29-17.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-httpd-selinux 0 0:2.4.29-17.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-httpd-tools 0 0:2.4.29-17.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_auth_kerb 0 0:5.4-36.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_auth_kerb-debuginfo 0 0:5.4-36.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_bmx 0 0:0.9.6-17.GA.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_bmx-debuginfo 0 0:0.9.6-17.GA.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_cluster-native 0 0:1.3.8-1.Final_redhat_2.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_cluster-native-debuginfo 0 0:1.3.8-1.Final_redhat_2.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_jk 0 0:1.2.43-1.redhat_1.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_jk-ap24 0 0:1.2.43-1.redhat_1.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_jk-debuginfo 0 0:1.2.43-1.redhat_1.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_jk-manual 0 0:1.2.43-1.redhat_1.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_ldap 0 0:2.4.29-17.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_proxy_html 0 1:2.4.29-17.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_rt 0 0:2.4.1-19.GA.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_rt-debuginfo 0 0:2.4.1-19.GA.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_security 0 0:2.9.1-23.GA.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_security-debuginfo 0 0:2.9.1-23.GA.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_session 0 0:2.4.29-17.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-mod_ssl 0 1:2.4.29-17.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-nghttp2 0 0:1.29.0-8.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-nghttp2-debuginfo 0 0:1.29.0-8.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-nghttp2-devel 0 0:1.29.0-8.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-openssl 0 1:1.0.2n-11.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-openssl-debuginfo 0 1:1.0.2n-11.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-openssl-devel 0 1:1.0.2n-11.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-openssl-libs 0 1:1.0.2n-11.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-openssl-perl 0 1:1.0.2n-11.jbcs.el7
Red Hat:jboss_core_services:1::el7 jbcs-httpd24-openssl-static 0 1:1.0.2n-11.jbcs.el7
SUSE:Linux Enterprise Desktop 12 SP2 openssl 0 1.0.2j-60.20.2
SUSE:Linux Enterprise Desktop 12 SP3 openssl 0 1.0.2j-60.20.2
SUSE:Linux Enterprise Server 12 SP2 openssl 0 1.0.2j-60.20.2
SUSE:Linux Enterprise Server 12 SP3 openssl 0 1.0.2j-60.20.2
SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 openssl 0 1.0.2j-60.20.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP2 openssl 0 1.0.2j-60.20.2
SUSE:Linux Enterprise Server for SAP Applications 12 SP3 openssl 0 1.0.2j-60.20.2
SUSE:Linux Enterprise Software Development Kit 12 SP2 openssl 0 1.0.2j-60.20.2
SUSE:Linux Enterprise Software Development Kit 12 SP3 openssl 0 1.0.2j-60.20.2
Ubuntu:16.04:LTS openssl 0 1.0.2g-1ubuntu4.10
openSUSE:Tumbleweed openssl-1_0_0 0 1.0.2u-6.2

Related vulnerabilities