CVE-2017-7805
High · 7.5CVSS
7.5
EPSS
3.0%
Published
Jun 11, 2018
CISA due date
—
Cloudanix analysis
A problem in how older web browsers and email programs handle secure web connections could cause them to crash unexpectedly when talking to certain servers.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free triggered during TLS 1.2 handshake hash calculations when the transcript exceeds the current message buffer, causing reallocation that leaves a dangling pointer to freed memory and results in a crash.
Why it matters to the business
Unexpected crashes in browser and email clients during secure connections can interrupt user workflows, reduce availability of client applications, and create potential for further compromise if the freed memory is attacker-controlled.
How an attack unfolds
An attacker positions themselves as a TLS server or performs a man-in-the-middle attack on a TLS 1.2 session; they craft a handshake whose transcript size forces buffer reallocation, then trigger subsequent hash operations that dereference the stale pointer to achieve a crash or attempt memory corruption for code execution.
How to fix it
Upgrade Mozilla Firefox to version 56 or later, Firefox ESR to 52.4 or later, and Thunderbird to 52.4 or later; apply all subsequent security updates promptly; disable TLS 1.2 where feasible only as a temporary workaround.
How to confirm the fix worked
Inspect installed product versions against the affected ranges; review release notes for the specific TLS handshake fix; perform controlled TLS 1.2 handshakes with large transcripts in a test environment to confirm absence of crashes.
Typical attack path
- Establish a TLS 1.2 connection to the vulnerable client
- Send a handshake sequence large enough to exceed the active message buffer
- Force allocation of a new buffer while retaining a pointer to the now-freed original buffer
- Continue the handshake to invoke hash calculations that use the dangling pointer
- Leverage the resulting memory state for crash or memory corruption primitives
How to detect it
Review application crash logs and memory dumps for faults occurring inside TLS handshake hash routines; correlate client connection attempts to untrusted servers immediately preceding crashes; examine system logs for repeated TLS session terminations without clear network cause.
What your security team should do
- Prioritize patching all instances of affected Mozilla products to the minimum fixed versions
- Inventory environments for legacy Firefox ESR and Thunderbird deployments
- Monitor vendor advisories for any follow-on patches addressing related handshake issues
- Consider network-level TLS inspection or proxying to reduce direct exposure until upgrades complete
The record
During TLS 1.2 exchanges, handshake hashes are generated which point to a message buffer. This saved data is used for later messages but in some cases, the handshake transcript can exceed the space available in the current buffer, causing the allocation of a new buffer. This leaves a pointer pointing to the old, freed buffer, resulting in a use-after-free when handshake hashes are then calculated afterwards. This can result in a potentially exploitable crash. This vulnerability affects Firefox < 56, Firefox ESR < 52.4, and Thunderbird < 52.4.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | firefox-esr | 0 | 52.4.0esr-2 |
| Debian:11 | nss | 0 | 2:3.33-1 |
| Debian:11 | thunderbird | 0 | 1:52.4.0-1 |
| Debian:12 | firefox-esr | 0 | 52.4.0esr-2 |
| Debian:12 | nss | 0 | 2:3.33-1 |
| Debian:12 | thunderbird | 0 | 1:52.4.0-1 |
| Debian:13 | firefox-esr | 0 | 52.4.0esr-2 |
| Debian:13 | nss | 0 | 2:3.33-1 |
| Debian:13 | thunderbird | 0 | 1:52.4.0-1 |
| Debian:7 | firefox-esr | 0 | 52.4.0esr-2~deb7u1 |
| Debian:7 | nss | 0 | 2:3.26-1+debu7u5 |
| Debian:7 | thunderbird | 0 | 1:52.4.0-1~deb7u1 |
| Debian:8 | firefox-esr | 0 | 52.4.0esr-1~deb8u1 |
| Debian:8 | nss | 0 | 2:3.26-1+debu8u3 |
| Debian:8 | thunderbird | 0 | 1:52.4.0-1~deb8u1 |
| Debian:9 | firefox-esr | 0 | 52.4.0esr-1~deb9u1 |
| Debian:9 | nss | 0 | 2:3.26.2-1.1+deb9u1 |
| Debian:9 | thunderbird | 0 | 1:52.4.0-1~deb9u1 |
| Mageia:5 | firefox | 0 | 52.4.0-1.mga5 |
| Mageia:5 | firefox-l10n | 0 | 52.4.0-1.mga5 |
| Mageia:5 | iceape | 0 | 2.49.1-3.mga5 |
| Mageia:5 | nspr | 0 | 4.17-1.mga5 |
| Mageia:5 | nss | 0 | 3.28.6-1.mga5 |
| Mageia:6 | firefox | 0 | 52.4.0-1.mga6 |
| Mageia:6 | firefox-l10n | 0 | 52.4.0-1.mga6 |
| Mageia:6 | iceape | 0 | 2.49.1-3.mga6 |
| Mageia:6 | nspr | 0 | 4.17-1.mga6 |
| Mageia:6 | nss | 0 | 3.28.6-1.mga6 |
| Red Hat:enterprise_linux:6::client | nss | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::client | nss-debuginfo | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::client | nss-devel | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::client | nss-pkcs11-devel | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::client | nss-sysinit | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::client | nss-tools | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::computenode | nss | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::computenode | nss-debuginfo | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::computenode | nss-devel | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::computenode | nss-pkcs11-devel | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::computenode | nss-sysinit | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::computenode | nss-tools | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::server | nss | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::server | nss-debuginfo | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::server | nss-devel | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::server | nss-pkcs11-devel | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::server | nss-sysinit | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::server | nss-tools | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::workstation | nss | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::workstation | nss-debuginfo | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::workstation | nss-devel | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::workstation | nss-pkcs11-devel | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::workstation | nss-sysinit | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:6::workstation | nss-tools | 0 | 0:3.28.4-4.el6_9 |
| Red Hat:enterprise_linux:7::client | nss | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::client | nss-debuginfo | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::client | nss-devel | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::client | nss-pkcs11-devel | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::client | nss-sysinit | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::client | nss-tools | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::computenode | nss | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::computenode | nss-debuginfo | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::computenode | nss-devel | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::computenode | nss-pkcs11-devel | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::computenode | nss-sysinit | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::computenode | nss-tools | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::server | nss | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::server | nss-debuginfo | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::server | nss-devel | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::server | nss-pkcs11-devel | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::server | nss-sysinit | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::server | nss-tools | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::workstation | nss | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::workstation | nss-debuginfo | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::workstation | nss-devel | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::workstation | nss-pkcs11-devel | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::workstation | nss-sysinit | 0 | 0:3.28.4-12.el7_4 |
| Red Hat:enterprise_linux:7::workstation | nss-tools | 0 | 0:3.28.4-12.el7_4 |
| SUSE:Linux Enterprise Desktop 12 SP2 | MozillaFirefox | 0 | 52.4.0esr-109.6.2 |
| SUSE:Linux Enterprise Desktop 12 SP2 | mozilla-nss | 0 | 3.29.5-58.3.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | MozillaFirefox | 0 | 52.4.0esr-109.6.2 |
| SUSE:Linux Enterprise Desktop 12 SP3 | mozilla-nss | 0 | 3.29.5-58.3.1 |
| SUSE:Linux Enterprise Point of Sale 11 SP3 | MozillaFirefox | 0 | 52.4.0esr-72.13.2 |
| SUSE:Linux Enterprise Point of Sale 11 SP3 | mozilla-nss | 0 | 3.29.5-47.6.1 |
| SUSE:Linux Enterprise Server 11 SP3-LTSS | MozillaFirefox | 0 | 52.4.0esr-72.13.2 |
| SUSE:Linux Enterprise Server 11 SP3-LTSS | mozilla-nss | 0 | 3.29.5-47.6.1 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | MozillaFirefox | 0 | 52.4.0esr-72.13.2 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | mozilla-nss | 0 | 3.29.5-47.6.1 |
| SUSE:Linux Enterprise Server 11 SP4 | MozillaFirefox | 0 | 52.4.0esr-72.13.2 |
| SUSE:Linux Enterprise Server 11 SP4 | mozilla-nss | 0 | 3.29.5-47.6.1 |
| SUSE:Linux Enterprise Server 12 SP1-LTSS | MozillaFirefox | 0 | 52.4.0esr-109.6.2 |
| SUSE:Linux Enterprise Server 12 SP1-LTSS | mozilla-nss | 0 | 3.29.5-58.3.1 |
| SUSE:Linux Enterprise Server 12 SP2 | MozillaFirefox | 0 | 52.4.0esr-109.6.2 |
| SUSE:Linux Enterprise Server 12 SP2 | mozilla-nss | 0 | 3.29.5-58.3.1 |
| SUSE:Linux Enterprise Server 12 SP3 | MozillaFirefox | 0 | 52.4.0esr-109.6.2 |
| SUSE:Linux Enterprise Server 12 SP3 | mozilla-nss | 0 | 3.29.5-58.3.1 |
| SUSE:Linux Enterprise Server 12-LTSS | MozillaFirefox | 0 | 52.4.0esr-109.6.2 |
| SUSE:Linux Enterprise Server 12-LTSS | mozilla-nss | 0 | 3.29.5-58.3.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | MozillaFirefox | 0 | 52.4.0esr-109.6.2 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | mozilla-nss | 0 | 3.29.5-58.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | MozillaFirefox | 0 | 52.4.0esr-72.13.2 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | mozilla-nss | 0 | 3.29.5-47.6.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | MozillaFirefox | 0 | 52.4.0esr-109.6.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | mozilla-nss | 0 | 3.29.5-58.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | MozillaFirefox | 0 | 52.4.0esr-109.6.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | mozilla-nss | 0 | 3.29.5-58.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | MozillaFirefox | 0 | 52.4.0esr-109.6.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | mozilla-nss | 0 | 3.29.5-58.3.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | MozillaFirefox | 0 | 52.4.0esr-72.13.2 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | mozilla-nss | 0 | 3.29.5-47.6.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | MozillaFirefox | 0 | 52.4.0esr-109.6.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | mozilla-nss | 0 | 3.29.5-58.3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | MozillaFirefox | 0 | 52.4.0esr-109.6.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | mozilla-nss | 0 | 3.29.5-58.3.1 |
| SUSE:OpenStack Cloud 6 | MozillaFirefox | 0 | 52.4.0esr-109.6.2 |
| SUSE:OpenStack Cloud 6 | mozilla-nss | 0 | 3.29.5-58.3.1 |
| SUSE:Package Hub 12 | MozillaThunderbird | 0 | 52.4.0-45.1 |
| Ubuntu:14.04:LTS | firefox | 0 | 56.0+build6-0ubuntu0.14.04.1 |
| Ubuntu:14.04:LTS | nss | 0 | 2:3.28.4-0ubuntu0.14.04.3 |
| Ubuntu:14.04:LTS | thunderbird | 0 | 1:52.4.0+build1-0ubuntu0.14.04.2 |
| Ubuntu:16.04:LTS | firefox | 0 | 56.0+build6-0ubuntu0.16.04.1 |
| Ubuntu:16.04:LTS | nss | 0 | 2:3.28.4-0ubuntu0.16.04.3 |
| Ubuntu:16.04:LTS | thunderbird | 0 | 1:52.4.0+build1-0ubuntu0.16.04.2 |
| Ubuntu:18.04:LTS | firefox | 0 | 56.0+build6-0ubuntu1 |
| Ubuntu:18.04:LTS | nss | 0 | 2:3.32-1ubuntu3 |
| Ubuntu:18.04:LTS | thunderbird | 0 | 1:52.4.0+build1-0ubuntu2 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 92.0-1.2 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 91.1.1-1.1 |
| openSUSE:Tumbleweed | firefox-esr | 0 | 128.5.1-1.1 |
Related vulnerabilities
- CVE-2025-0243 Memory safety bugs present in Firefox 133, Thunderbird 133, Firefox ESR 128.5, and… Also affects firefox-esr
- CVE-2025-0237 The WebChannel API, which is used to transport various information across processes, did… Also affects firefox-esr
- CVE-2025-0238 Assuming a controlled failed memory allocation, an attacker could have caused a… Also affects firefox-esr
- CVE-2025-0240 Parsing a JavaScript module as JSON could, under some circumstances, cause… Also affects firefox-esr
- CVE-2025-0239 When using Alt-Svc, ALPN did not properly validate certificates when the original server… Also affects firefox-esr
- CVE-2025-0241 When segmenting specially crafted text, segmentation would corrupt memory leading to a… Also affects firefox-esr
- CVE-2025-0242 Memory safety bugs present in Firefox 133, Thunderbird 133, Firefox ESR 115.18, Firefox… Also affects firefox-esr
- CVE-2024-11704 A double-free issue could have occurred in `sec_pkcs7_decoder_start_decrypt()` when… Also affects firefox-esr