CVE-2015-2721
NoneCVSS
—
EPSS
2.8%
Published
Jul 6, 2015
CISA due date
—
Cloudanix analysis
A problem in the software that handles secure web connections could let someone secretly weaken the protection on those connections and read or change information that should stay private.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Data Tampering
- Component
- Library
- Class
- Cryptographic Weakness
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw stems from incorrect TLS state machine transitions in NSS, allowing an active MITM to drop messages such as ServerKeyExchange and force a non-forward-secret cipher suite without detection.
Why it matters to the business
Encrypted sessions between users and servers using affected Mozilla products or NSS libraries can be downgraded, exposing sensitive data in transit and undermining trust in secure communications for organizations relying on these components.
How an attack unfolds
An attacker positioned on the network observes a TLS handshake, selectively blocks forward-secrecy negotiation messages, and completes the session using weaker parameters that the client and server both accept due to the flawed state handling.
How to fix it
Upgrade NSS to version 3.19 or later, Firefox to 39.0 or ESR 31.8/38.1 or later, Thunderbird to 38.1 or later, and any other affected products to their respective patched releases that correct TLS state transitions.
How to confirm the fix worked
Confirm NSS and dependent product versions meet or exceed the fixed releases; perform TLS handshake tests that attempt message suppression and verify forward-secrecy parameters are enforced.
Typical attack path
- Position as network MITM between client and server
- Intercept ClientHello and ServerHello messages
- Drop ServerKeyExchange or equivalent forward-secrecy messages
- Allow handshake to complete with non-PFS cipher suite
- Decrypt or modify subsequent traffic without detection
How to detect it
Examine web server and client logs for TLS sessions that completed without expected ServerKeyExchange or with unexpectedly weak cipher suites; correlate with network captures showing dropped handshake messages.
What your security team should do
- Inventory all systems using NSS or listed Mozilla products and prioritize upgrades
- Enable TLS 1.2+ with only PFS cipher suites in configuration where possible
- Monitor vendor advisories for any remaining downstream packages
- Review network logs for anomalous TLS handshakes lacking expected key exchange messages
The record
Mozilla Network Security Services (NSS) before 3.19, as used in Mozilla Firefox before 39.0, Firefox ESR 31.x before 31.8 and 38.x before 38.1, Thunderbird before 38.1, and other products, does not properly determine state transitions for the TLS state machine, which allows man-in-the-middle attackers to defeat cryptographic protection mechanisms by blocking messages, as demonstrated by removing a forward-secrecy property by blocking a ServerKeyExchange message, aka a "SMACK SKIP-TLS" issue.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | nss | 0 | 2:3.19.1-1 |
| Debian:12 | nss | 0 | 2:3.19.1-1 |
| Debian:13 | nss | 0 | 2:3.19.1-1 |
| Debian:14 | nss | 0 | 2:3.19.1-1 |
| Debian:6.0 | nss | 0 | 3.12.8-1+squeeze12 |
| Debian:7 | icedove | 0 | 31.8.0-1~deb7u1 |
| Debian:7 | iceweasel | 0 | 31.8.0esr-1~deb7u1 |
| Debian:7 | nss | 0 | 2:3.14.5-1+deb7u5 |
| Debian:8 | icedove | 0 | 31.8.0-1~deb8u1 |
| Debian:8 | iceweasel | 0 | 31.8.0esr-1~deb8u1 |
| Debian:8 | nss | 0 | 2:3.17.2-1.1+deb8u1 |
| Mageia:4 | firefox | 0 | 38.1.0-1.mga4 |
| Mageia:4 | firefox-l10n | 0 | 38.1.0-1.mga4 |
| Mageia:4 | nss | 0 | 3.19.2-1.mga4 |
| Mageia:4 | sqlite3 | 0 | 3.8.10.2-1.mga4 |
| Mageia:5 | firefox | 0 | 38.1.0-1.mga5 |
| Mageia:5 | firefox-l10n | 0 | 38.1.0-1.mga5 |
| Mageia:5 | nss | 0 | 3.19.2-1.mga5 |
| Red Hat:enterprise_linux:5::client | nss | 0 | 0:3.19.1-1.el5_11 |
| Red Hat:enterprise_linux:5::client | nss-debuginfo | 0 | 0:3.19.1-1.el5_11 |
| Red Hat:enterprise_linux:5::client | nss-devel | 0 | 0:3.19.1-1.el5_11 |
| Red Hat:enterprise_linux:5::client | nss-pkcs11-devel | 0 | 0:3.19.1-1.el5_11 |
| Red Hat:enterprise_linux:5::client | nss-tools | 0 | 0:3.19.1-1.el5_11 |
| Red Hat:enterprise_linux:5::client_workstation | nss | 0 | 0:3.19.1-1.el5_11 |
| Red Hat:enterprise_linux:5::client_workstation | nss-debuginfo | 0 | 0:3.19.1-1.el5_11 |
| Red Hat:enterprise_linux:5::client_workstation | nss-devel | 0 | 0:3.19.1-1.el5_11 |
| Red Hat:enterprise_linux:5::client_workstation | nss-pkcs11-devel | 0 | 0:3.19.1-1.el5_11 |
| Red Hat:enterprise_linux:5::client_workstation | nss-tools | 0 | 0:3.19.1-1.el5_11 |
| Red Hat:enterprise_linux:5::server | nss | 0 | 0:3.19.1-1.el5_11 |
| Red Hat:enterprise_linux:5::server | nss-debuginfo | 0 | 0:3.19.1-1.el5_11 |
| Red Hat:enterprise_linux:5::server | nss-devel | 0 | 0:3.19.1-1.el5_11 |
| Red Hat:enterprise_linux:5::server | nss-pkcs11-devel | 0 | 0:3.19.1-1.el5_11 |
| Red Hat:enterprise_linux:5::server | nss-tools | 0 | 0:3.19.1-1.el5_11 |
| Red Hat:enterprise_linux:6::client | nss | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::client | nss-debuginfo | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::client | nss-devel | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::client | nss-pkcs11-devel | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::client | nss-sysinit | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::client | nss-tools | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::client | nss-util | 0 | 0:3.19.1-1.el6_6 |
| Red Hat:enterprise_linux:6::client | nss-util-debuginfo | 0 | 0:3.19.1-1.el6_6 |
| Red Hat:enterprise_linux:6::client | nss-util-devel | 0 | 0:3.19.1-1.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nss | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nss-debuginfo | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nss-devel | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nss-pkcs11-devel | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nss-sysinit | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nss-tools | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nss-util | 0 | 0:3.19.1-1.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nss-util-debuginfo | 0 | 0:3.19.1-1.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nss-util-devel | 0 | 0:3.19.1-1.el6_6 |
| Red Hat:enterprise_linux:6::server | nss | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::server | nss-debuginfo | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::server | nss-devel | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::server | nss-pkcs11-devel | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::server | nss-sysinit | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::server | nss-tools | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::server | nss-util | 0 | 0:3.19.1-1.el6_6 |
| Red Hat:enterprise_linux:6::server | nss-util-debuginfo | 0 | 0:3.19.1-1.el6_6 |
| Red Hat:enterprise_linux:6::server | nss-util-devel | 0 | 0:3.19.1-1.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nss | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nss-debuginfo | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nss-devel | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nss-pkcs11-devel | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nss-sysinit | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nss-tools | 0 | 0:3.19.1-3.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nss-util | 0 | 0:3.19.1-1.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nss-util-debuginfo | 0 | 0:3.19.1-1.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nss-util-devel | 0 | 0:3.19.1-1.el6_6 |
| Red Hat:enterprise_linux:7::client | nss | 0 | 0:3.19.1-3.el7_1 |
| Red Hat:enterprise_linux:7::client | nss-debuginfo | 0 | 0:3.19.1-3.el7_1 |
| Red Hat:enterprise_linux:7::client | nss-devel | 0 | 0:3.19.1-3.el7_1 |
| Red Hat:enterprise_linux:7::client | nss-pkcs11-devel | 0 | 0:3.19.1-3.el7_1 |
| Red Hat:enterprise_linux:7::client | nss-sysinit | 0 | 0:3.19.1-3.el7_1 |
| Red Hat:enterprise_linux:7::client | nss-tools | 0 | 0:3.19.1-3.el7_1 |
| Red Hat:enterprise_linux:7::client | nss-util | 0 | 0:3.19.1-1.el7_1 |
| Red Hat:enterprise_linux:7::client | nss-util-debuginfo | 0 | 0:3.19.1-1.el7_1 |
| Red Hat:enterprise_linux:7::client | nss-util-devel | 0 | 0:3.19.1-1.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nss | 0 | 0:3.19.1-3.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nss-debuginfo | 0 | 0:3.19.1-3.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nss-devel | 0 | 0:3.19.1-3.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nss-pkcs11-devel | 0 | 0:3.19.1-3.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nss-sysinit | 0 | 0:3.19.1-3.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nss-tools | 0 | 0:3.19.1-3.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nss-util | 0 | 0:3.19.1-1.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nss-util-debuginfo | 0 | 0:3.19.1-1.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nss-util-devel | 0 | 0:3.19.1-1.el7_1 |
| Red Hat:enterprise_linux:7::server | nss | 0 | 0:3.19.1-3.ael7b_1 |
| Red Hat:enterprise_linux:7::server | nss-debuginfo | 0 | 0:3.19.1-3.ael7b_1 |
| Red Hat:enterprise_linux:7::server | nss-devel | 0 | 0:3.19.1-3.ael7b_1 |
| Red Hat:enterprise_linux:7::server | nss-pkcs11-devel | 0 | 0:3.19.1-3.ael7b_1 |
| Red Hat:enterprise_linux:7::server | nss-sysinit | 0 | 0:3.19.1-3.ael7b_1 |
| Red Hat:enterprise_linux:7::server | nss-tools | 0 | 0:3.19.1-3.ael7b_1 |
| Red Hat:enterprise_linux:7::server | nss-util | 0 | 0:3.19.1-1.ael7b_1 |
| Red Hat:enterprise_linux:7::server | nss-util-debuginfo | 0 | 0:3.19.1-1.ael7b_1 |
| Red Hat:enterprise_linux:7::server | nss-util-devel | 0 | 0:3.19.1-1.ael7b_1 |
| Red Hat:enterprise_linux:7::workstation | nss | 0 | 0:3.19.1-3.el7_1 |
| Red Hat:enterprise_linux:7::workstation | nss-debuginfo | 0 | 0:3.19.1-3.el7_1 |
| Red Hat:enterprise_linux:7::workstation | nss-devel | 0 | 0:3.19.1-3.el7_1 |
| Red Hat:enterprise_linux:7::workstation | nss-pkcs11-devel | 0 | 0:3.19.1-3.el7_1 |
| Red Hat:enterprise_linux:7::workstation | nss-sysinit | 0 | 0:3.19.1-3.el7_1 |
| Red Hat:enterprise_linux:7::workstation | nss-tools | 0 | 0:3.19.1-3.el7_1 |
| Red Hat:enterprise_linux:7::workstation | nss-util | 0 | 0:3.19.1-1.el7_1 |
| Red Hat:enterprise_linux:7::workstation | nss-util-debuginfo | 0 | 0:3.19.1-1.el7_1 |
| Red Hat:enterprise_linux:7::workstation | nss-util-devel | 0 | 0:3.19.1-1.el7_1 |
| SUSE:Linux Enterprise Desktop 11 SP3 | MozillaFirefox | 0 | 31.8.0esr-0.10.1 |
| SUSE:Linux Enterprise Desktop 11 SP3 | mozilla-nspr | 0 | 4.10.8-0.5.1 |
| SUSE:Linux Enterprise Desktop 11 SP3 | mozilla-nss | 0 | 3.19.2_CKBI_1.98-0.10.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | MozillaFirefox | 0 | 31.8.0esr-0.10.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | mozilla-nspr | 0 | 4.10.8-0.5.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | mozilla-nss | 0 | 3.19.2_CKBI_1.98-0.10.1 |
| SUSE:Linux Enterprise Desktop 12 | MozillaFirefox | 0 | 31.8.0esr-37.3 |
| SUSE:Linux Enterprise Desktop 12 | mozilla-nspr | 0 | 4.10.8-3.1 |
| SUSE:Linux Enterprise Desktop 12 | mozilla-nss | 0 | 3.19.2_CKBI_1.98-21.1 |
| SUSE:Linux Enterprise Server 11 SP1-LTSS | MozillaFirefox | 0 | 38.2.0esr-10.1 |
| SUSE:Linux Enterprise Server 11 SP1-LTSS | MozillaFirefox-branding-SLED | 0 | 31.0-0.5.7.11 |
| SUSE:Linux Enterprise Server 11 SP1-LTSS | firefox-gcc47 | 0 | 4.7.2_20130108-0.37.2 |
| SUSE:Linux Enterprise Server 11 SP1-LTSS | mozilla-nss | 0 | 3.19.2.0-0.7.1 |
| SUSE:Linux Enterprise Server 11 SP1-TERADATA | MozillaFirefox | 0 | 38.2.0esr-10.1 |
| SUSE:Linux Enterprise Server 11 SP1-TERADATA | MozillaFirefox-branding-SLED | 0 | 31.0-0.5.7.11 |
| SUSE:Linux Enterprise Server 11 SP1-TERADATA | firefox-gcc47 | 0 | 4.7.2_20130108-0.37.2 |
| SUSE:Linux Enterprise Server 11 SP1-TERADATA | mozilla-nss | 0 | 3.19.2.0-0.7.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | MozillaFirefox | 0 | 38.2.0esr-10.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | MozillaFirefox-branding-SLED | 0 | 31.0-0.5.7.11 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | firefox-gcc47 | 0 | 4.7.2_20130108-0.37.2 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | mozilla-nss | 0 | 3.19.2.0-0.7.1 |
| SUSE:Linux Enterprise Server 11 SP3 | MozillaFirefox | 0 | 31.8.0esr-0.10.1 |
| SUSE:Linux Enterprise Server 11 SP3 | mozilla-nspr | 0 | 4.10.8-0.5.1 |
| SUSE:Linux Enterprise Server 11 SP3 | mozilla-nss | 0 | 3.19.2_CKBI_1.98-0.10.1 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | MozillaFirefox | 0 | 31.8.0esr-0.10.1 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | mozilla-nspr | 0 | 4.10.8-0.5.1 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | mozilla-nss | 0 | 3.19.2_CKBI_1.98-0.10.1 |
| SUSE:Linux Enterprise Server 11 SP4 | MozillaFirefox | 0 | 31.8.0esr-0.10.1 |
| SUSE:Linux Enterprise Server 11 SP4 | mozilla-nspr | 0 | 4.10.8-0.5.1 |
| SUSE:Linux Enterprise Server 11 SP4 | mozilla-nss | 0 | 3.19.2_CKBI_1.98-0.10.1 |
| SUSE:Linux Enterprise Server 12 | MozillaFirefox | 0 | 31.8.0esr-37.3 |
| SUSE:Linux Enterprise Server 12 | mozilla-nspr | 0 | 4.10.8-3.1 |
| SUSE:Linux Enterprise Server 12 | mozilla-nss | 0 | 3.19.2_CKBI_1.98-21.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | MozillaFirefox | 0 | 31.8.0esr-0.10.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | mozilla-nspr | 0 | 4.10.8-0.5.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | mozilla-nss | 0 | 3.19.2_CKBI_1.98-0.10.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | MozillaFirefox | 0 | 31.8.0esr-0.10.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | mozilla-nspr | 0 | 4.10.8-0.5.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | mozilla-nss | 0 | 3.19.2_CKBI_1.98-0.10.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | MozillaFirefox | 0 | 31.8.0esr-37.3 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | mozilla-nspr | 0 | 4.10.8-3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | mozilla-nss | 0 | 3.19.2_CKBI_1.98-21.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP3 | MozillaFirefox | 0 | 31.8.0esr-0.10.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP3 | mozilla-nspr | 0 | 4.10.8-0.5.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP3 | mozilla-nss | 0 | 3.19.2_CKBI_1.98-0.10.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | MozillaFirefox | 0 | 31.8.0esr-0.10.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | mozilla-nspr | 0 | 4.10.8-0.5.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | mozilla-nss | 0 | 3.19.2_CKBI_1.98-0.10.1 |
| SUSE:Linux Enterprise Software Development Kit 12 | MozillaFirefox | 0 | 31.8.0esr-37.3 |
| SUSE:Linux Enterprise Software Development Kit 12 | mozilla-nspr | 0 | 4.10.8-3.1 |
| SUSE:Linux Enterprise Software Development Kit 12 | mozilla-nss | 0 | 3.19.2_CKBI_1.98-21.1 |
| Ubuntu:14.04:LTS | firefox | 0 | 39.0+build5-0ubuntu0.14.04.1 |
| Ubuntu:14.04:LTS | nss | 0 | 2:3.19.2-0ubuntu0.14.04.1 |
| Ubuntu:14.04:LTS | thunderbird | 0 | 1:31.8.0+build1-0ubuntu0.14.04.1 |
| openSUSE:Tumbleweed | MozillaFirefox | 0 | 50.1.0-1.1 |
| openSUSE:Tumbleweed | MozillaThunderbird | 0 | 45.5.1-1.1 |
| openSUSE:Tumbleweed | firefox-esr | 0 | 128.5.1-1.1 |
| openSUSE:Tumbleweed | mozilla-nss | 0 | 3.26.2-1.1 |
Related vulnerabilities
- CVE-2024-7531 Calling `PK11_Encrypt()` in NSS using CKM_CHACHA20 and the same buffer for input and… Also affects nss
- CVE-2024-6609 When almost out-of-memory an elliptic curve key which was never allocated could have been… Also affects nss
- CVE-2024-6602 A mismatch between allocator and deallocator could have lead to memory corruption. Also affects nss
- CVE-2024-0743 An unchecked return value in TLS handshake code could have caused a potentially… Also affects nss
- CVE-2023-6135 Multiple NSS NIST curves were susceptible to a side-channel attack known as "Minerva". Also affects nss
- CVE-2023-4421 The NSS code used for checking PKCS#1 v1.5 was leaking information useful in mounting… Also affects nss
- CVE-2023-0767 An attacker could construct a PKCS 12 cert bundle in such a way that could allow for… Also affects nss
- CVE-2022-22747 After accepting an untrusted certificate, handling an empty pkcs7 sequence as part of the… Also affects nss