CVE-2017-3735
Medium · 5.3CVSS
5.3
EPSS
21.0%
Published
Aug 28, 2017
CISA due date
—
Cloudanix analysis
A long-standing bug in widely used encryption software could cause a security certificate to be shown with the wrong details, potentially leading to mistaken trust decisions.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
One-byte overread when parsing the IPAddressFamily extension in an X.509 certificate causes incorrect text rendering of the certificate contents.
Why it matters to the business
Operators may make trust or access decisions based on a misrendered certificate, and the long-standing nature of the flaw across widely deployed TLS libraries increases operational exposure in certificate-heavy environments.
How an attack unfolds
An attacker supplies a crafted X.509 certificate containing a malformed IPAddressFamily extension to any OpenSSL-based TLS endpoint or verification routine; the one-byte overread occurs during parsing and produces a corrupted text representation of the certificate without further memory corruption or code execution.
How to fix it
Upgrade OpenSSL to 1.0.2m, 1.1.0g or later releases; rebuild and redeploy all dependent applications and restart services that link against the library.
How to confirm the fix worked
Confirm the installed OpenSSL version is at or above the fixed releases; test certificate parsing with known malformed IPAddressFamily test vectors and verify correct text output.
Typical attack path
- Attacker generates or obtains a certificate with a specially constructed IPAddressFamily extension
- Victim application or server processes the certificate using a vulnerable OpenSSL version
- Overread occurs during extension parsing, resulting in incorrect displayed certificate data
- Operator or automated system acts on the erroneous certificate text
How to detect it
Review TLS handshake or certificate validation logs for entries involving IPAddressFamily extensions; compare rendered certificate text against the binary contents of received certificates to spot discrepancies.
What your security team should do
- Immediately inventory all systems using OpenSSL and schedule upgrades to 1.0.2m or 1.1.0g
- Prioritize patching on any externally facing TLS terminators or certificate validation services
- Update build pipelines and package repositories to prevent reintroduction of vulnerable versions
The record
While parsing an IPAddressFamily extension in an X.509 certificate, it is possible to do a one-byte overread. This would result in an incorrect text display of the certificate. This bug has been present since 2006 and is present in all versions of OpenSSL before 1.0.2m and 1.1.0g.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Alpine:v3.3 | openssl | 0 | 1.0.2m-r0 |
| Alpine:v3.4 | openssl | 0 | 1.0.2m-r0 |
| Alpine:v3.5 | openssl | 0 | 1.0.2m-r0 |
| Alpine:v3.6 | openssl | 0 | 1.0.2m-r0 |
| Alpine:v3.7 | openssl | 0 | 1.0.2m-r0 |
| Alpine:v3.8 | openssl | 0 | 1.0.2m-r0 |
| Debian:11 | openssl | 0 | 1.1.0g-1 |
| Debian:12 | openssl | 0 | 1.1.0g-1 |
| Debian:13 | openssl | 0 | 1.1.0g-1 |
| Debian:7 | openssl | 0 | 1.0.1t-1+deb7u3 |
| Debian:8 | openssl | 0 | 1.0.1t-1+deb8u7 |
| Debian:9 | openssl | 0 | 1.1.0f-3+deb9u1 |
| Debian:9 | openssl1.0 | 0 | 1.0.2l-2+deb9u1 |
| Mageia:5 | openssl | 0 | 1.0.2m-1.mga5 |
| Mageia:6 | openssl | 0 | 1.0.2m-1.mga6 |
| Red Hat:enterprise_linux:7::client | openssl | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::client | openssl-debuginfo | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::client | openssl-devel | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::client | openssl-libs | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::client | openssl-perl | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::client | openssl-static | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::computenode | openssl | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::computenode | openssl-debuginfo | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::computenode | openssl-devel | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::computenode | openssl-libs | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::computenode | openssl-perl | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::computenode | openssl-static | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::server | openssl | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::server | openssl-debuginfo | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::server | openssl-devel | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::server | openssl-libs | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::server | openssl-perl | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::server | openssl-static | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::workstation | openssl | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::workstation | openssl-debuginfo | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::workstation | openssl-devel | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::workstation | openssl-libs | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::workstation | openssl-perl | 0 | 1:1.0.2k-16.el7 |
| Red Hat:enterprise_linux:7::workstation | openssl-static | 0 | 1:1.0.2k-16.el7 |
| SUSE:Enterprise Storage 4 | nodejs4 | 0 | 4.8.7-15.8.1 |
| SUSE:Enterprise Storage 4 | nodejs6 | 0 | 6.12.2-11.8.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | openssl | 0 | 1.0.2j-60.16.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | openssl | 0 | 1.0.2j-60.16.1 |
| SUSE:Linux Enterprise Module for Web and Scripting 12 | nodejs4 | 0 | 4.8.7-15.8.1 |
| SUSE:Linux Enterprise Module for Web and Scripting 12 | nodejs6 | 0 | 6.12.2-11.8.1 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | MozillaFirefox | 0 | 68.2.0-78.51.4 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | MozillaFirefox-branding-SLED | 0 | 68-21.9.8 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | firefox-atk | 0 | 2.26.1-2.8.4 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | firefox-cairo | 0 | 1.15.10-2.13.4 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | firefox-gdk-pixbuf | 0 | 2.36.11-2.8.4 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | firefox-glib2 | 0 | 2.54.3-2.14.7 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | firefox-gtk3 | 0 | 3.10.9-2.15.3 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | firefox-harfbuzz | 0 | 1.7.5-2.7.4 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | firefox-libffi | 0 | 3.2.1.git259-2.3.3 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | firefox-libffi-gcc5 | 0 | 5.3.1+r233831-14.1 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | firefox-pango | 0 | 1.40.14-2.7.4 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | mozilla-nspr | 0 | 4.21-29.6.1 |
| SUSE:Linux Enterprise Server 11 SP4-LTSS | mozilla-nss | 0 | 3.45-38.9.3 |
| SUSE:Linux Enterprise Server 11-SECURITY | openssl1 | 0 | 1.0.1g-0.58.3.1 |
| SUSE:Linux Enterprise Server 12 SP1-LTSS | openssl | 0 | 1.0.1i-54.8.1 |
| SUSE:Linux Enterprise Server 12 SP2 | openssl | 0 | 1.0.2j-60.16.1 |
| SUSE:Linux Enterprise Server 12 SP3 | openssl | 0 | 1.0.2j-60.16.1 |
| SUSE:Linux Enterprise Server 12-LTSS | openssl | 0 | 1.0.1i-27.28.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | openssl | 0 | 1.0.2j-60.16.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | openssl | 0 | 1.0.1i-54.8.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | openssl | 0 | 1.0.2j-60.16.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | openssl | 0 | 1.0.2j-60.16.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | openssl | 0 | 1.0.2j-60.16.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | openssl | 0 | 1.0.2j-60.16.1 |
| SUSE:OpenStack Cloud 6 | openssl | 0 | 1.0.1i-54.8.1 |
| SUSE:OpenStack Cloud 7 | nodejs6 | 0 | 6.12.2-11.8.1 |
| Ubuntu:14.04:LTS | openssl | 0 | 1.0.1f-1ubuntu2.23 |
| Ubuntu:16.04:LTS | openssl | 0 | 1.0.2g-1ubuntu4.9 |
| Ubuntu:18.04:LTS | openssl | 0 | 1.0.2g-1ubuntu14 |
| Ubuntu:18.04:LTS | openssl1.0 | 0 | 1.0.2n-1ubuntu4 |
| openSUSE:Tumbleweed | openssl-1_0_0 | 0 | 1.0.2u-6.2 |
| openSUSE:Tumbleweed | openssl-1_1 | 0 | 1.1.1l-1.2 |
Related vulnerabilities
- CVE-2017-3737 OpenSSL 1.0.2 (starting from version 1.0.2b) introduced an "error state" mechanism. Also affects openssl
- CVE-2017-3738 There is an overflow bug in the AVX2 Montgomery multiplication procedure used in… Also affects openssl
- CVE-2017-3736 There is a carry propagating bug in the x86_64 Montgomery squaring procedure in OpenSSL… Also affects openssl
- CVE-2016-7055 There is a carry propagating bug in the Broadwell-specific Montgomery multiplication… Also affects openssl
- CVE-2017-3732 There is a carry propagating bug in the x86_64 Montgomery squaring procedure in OpenSSL… Also affects openssl
- CVE-2017-3731 If an SSL/TLS server or client is running on a 32-bit host, and a specific cipher is… Also affects openssl
- CVE-2016-7052 crypto/x509/x509_vfy.c in OpenSSL 1.0.2i allows remote attackers to cause a denial of… Also affects openssl
- CVE-2016-6306 The certificate parser in OpenSSL before 1.0.1u and 1.0.2 before 1.0.2i might allow… Also affects openssl