CVE-2014-1544
NoneCVSS
—
EPSS
6.1%
Published
Jul 23, 2014
CISA due date
—
Cloudanix analysis
Old versions of Firefox and Thunderbird contain a flaw that lets attackers take over a computer by sending specially crafted network data.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free in CERT_DestroyCertificate within libnss3.so allows remote code execution by triggering improper removal of an NSSCertificate structure from a trust domain.
Why it matters to the business
Attackers can fully compromise systems running unpatched Mozilla products, resulting in data theft, malware deployment, or unauthorized access; the issue affects legacy deployments still using vulnerable NSS libraries despite the 2014 disclosure.
How an attack unfolds
An attacker crafts network content that causes NSS to mishandle certificate structures during trust domain operations, freeing memory that is later reused for arbitrary code execution; no named threat actors or ransomware campaigns are associated with this flaw.
How to fix it
Upgrade Mozilla Firefox to 31.0 or later, Firefox ESR to 24.7 or later, Thunderbird to 24.7 or later, and ensure NSS libraries are updated to post-3.x releases that resolve the certificate handling flaw.
How to confirm the fix worked
Verify installed product versions against the fixed releases, inspect NSS library files for updated builds, and confirm absence of vulnerable CERT_DestroyCertificate behavior through targeted testing or version string checks.
Typical attack path
- Serve or deliver malicious web content, email attachment, or network response containing crafted certificates or NSS triggers
- Victim browser or Thunderbird processes the input and invokes CERT_DestroyCertificate
- Trigger the use-after-free condition via specific certificate removal vectors
- Achieve arbitrary code execution in the context of the Mozilla process
How to detect it
Review application crash logs for NSS-related faults, examine process memory dumps for certificate structure reuse patterns, and search historical web proxy or email logs for unusual certificate handling requests around the time of potential exposure.
What your security team should do
- Immediately inventory and replace any remaining instances of Firefox <31, ESR <24.7, or Thunderbird <24.7
- Enforce automatic updates for all Mozilla products across the environment
- Monitor EPSS and KEV status for any resurgence in exploit activity despite the low stable score
The record
Use-after-free vulnerability in the CERT_DestroyCertificate function in libnss3.so in Mozilla Network Security Services (NSS) 3.x, as used in Firefox before 31.0, Firefox ESR 24.x before 24.7, and Thunderbird before 24.7, allows remote attackers to execute arbitrary code via vectors that trigger certain improper removal of an NSSCertificate structure from a trust domain.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | nss | 0 | 2:3.16.3-1 |
| Debian:12 | nss | 0 | 2:3.16.3-1 |
| Debian:13 | nss | 0 | 2:3.16.3-1 |
| Debian:6.0 | nss | 0 | 3.12.8-1+squeeze10 |
| Debian:7 | icedove | 0 | 24.7.0-1~deb7u1 |
| Debian:7 | iceweasel | 0 | 24.7.0esr-1~deb7u1 |
| Debian:7 | nss | 0 | 2:3.14.5-1+deb7u3 |
| Mageia:3 | firefox | 0 | 24.7.0-1.mga3 |
| Mageia:3 | firefox-l10n | 0 | 24.7.0-1.mga3 |
| Mageia:3 | nss | 0 | 3.16.3-1.mga3 |
| Mageia:3 | rootcerts | 0 | 20140703.00-1.mga3 |
| Mageia:3 | thunderbird | 0 | 24.7.0-1.mga3 |
| Mageia:3 | thunderbird-l10n | 0 | 24.7.0-1.mga3 |
| Mageia:4 | firefox | 0 | 24.7.0-1.mga4 |
| Mageia:4 | firefox-l10n | 0 | 24.7.0-1.mga4 |
| Mageia:4 | nss | 0 | 3.16.3-1.mga4 |
| Mageia:4 | rootcerts | 0 | 20140703.00-1.mga4 |
| Mageia:4 | thunderbird | 0 | 24.7.0-1.mga4 |
| Mageia:4 | thunderbird-l10n | 0 | 24.7.0-1.mga4 |
| Red Hat:enterprise_linux:5::client | nspr | 0 | 0:4.10.6-1.el5_10 |
| Red Hat:enterprise_linux:5::client | nspr-debuginfo | 0 | 0:4.10.6-1.el5_10 |
| Red Hat:enterprise_linux:5::client | nspr-devel | 0 | 0:4.10.6-1.el5_10 |
| Red Hat:enterprise_linux:5::client | nss | 0 | 0:3.15.3-7.el5_10 |
| Red Hat:enterprise_linux:5::client | nss-debuginfo | 0 | 0:3.15.3-7.el5_10 |
| Red Hat:enterprise_linux:5::client | nss-devel | 0 | 0:3.15.3-7.el5_10 |
| Red Hat:enterprise_linux:5::client | nss-pkcs11-devel | 0 | 0:3.15.3-7.el5_10 |
| Red Hat:enterprise_linux:5::client | nss-tools | 0 | 0:3.15.3-7.el5_10 |
| Red Hat:enterprise_linux:5::client_workstation | nspr | 0 | 0:4.10.6-1.el5_10 |
| Red Hat:enterprise_linux:5::client_workstation | nspr-debuginfo | 0 | 0:4.10.6-1.el5_10 |
| Red Hat:enterprise_linux:5::client_workstation | nspr-devel | 0 | 0:4.10.6-1.el5_10 |
| Red Hat:enterprise_linux:5::client_workstation | nss | 0 | 0:3.15.3-7.el5_10 |
| Red Hat:enterprise_linux:5::client_workstation | nss-debuginfo | 0 | 0:3.15.3-7.el5_10 |
| Red Hat:enterprise_linux:5::client_workstation | nss-devel | 0 | 0:3.15.3-7.el5_10 |
| Red Hat:enterprise_linux:5::client_workstation | nss-pkcs11-devel | 0 | 0:3.15.3-7.el5_10 |
| Red Hat:enterprise_linux:5::client_workstation | nss-tools | 0 | 0:3.15.3-7.el5_10 |
| Red Hat:enterprise_linux:5::server | nspr | 0 | 0:4.10.6-1.el5_10 |
| Red Hat:enterprise_linux:5::server | nspr-debuginfo | 0 | 0:4.10.6-1.el5_10 |
| Red Hat:enterprise_linux:5::server | nspr-devel | 0 | 0:4.10.6-1.el5_10 |
| Red Hat:enterprise_linux:5::server | nss | 0 | 0:3.15.3-7.el5_10 |
| Red Hat:enterprise_linux:5::server | nss-debuginfo | 0 | 0:3.15.3-7.el5_10 |
| Red Hat:enterprise_linux:5::server | nss-devel | 0 | 0:3.15.3-7.el5_10 |
| Red Hat:enterprise_linux:5::server | nss-pkcs11-devel | 0 | 0:3.15.3-7.el5_10 |
| Red Hat:enterprise_linux:5::server | nss-tools | 0 | 0:3.15.3-7.el5_10 |
| Red Hat:enterprise_linux:6::client | nspr | 0 | 0:4.10.6-1.el6_5 |
| Red Hat:enterprise_linux:6::client | nspr-debuginfo | 0 | 0:4.10.6-1.el6_5 |
| Red Hat:enterprise_linux:6::client | nspr-devel | 0 | 0:4.10.6-1.el6_5 |
| Red Hat:enterprise_linux:6::client | nss | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::client | nss-debuginfo | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::client | nss-devel | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::client | nss-pkcs11-devel | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::client | nss-sysinit | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::client | nss-tools | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::client | nss-util | 0 | 0:3.16.1-1.el6_5 |
| Red Hat:enterprise_linux:6::client | nss-util-debuginfo | 0 | 0:3.16.1-1.el6_5 |
| Red Hat:enterprise_linux:6::client | nss-util-devel | 0 | 0:3.16.1-1.el6_5 |
| Red Hat:enterprise_linux:6::computenode | nspr | 0 | 0:4.10.6-1.el6_5 |
| Red Hat:enterprise_linux:6::computenode | nspr-debuginfo | 0 | 0:4.10.6-1.el6_5 |
| Red Hat:enterprise_linux:6::computenode | nspr-devel | 0 | 0:4.10.6-1.el6_5 |
| Red Hat:enterprise_linux:6::computenode | nss | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::computenode | nss-debuginfo | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::computenode | nss-devel | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::computenode | nss-pkcs11-devel | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::computenode | nss-sysinit | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::computenode | nss-tools | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::computenode | nss-util | 0 | 0:3.16.1-1.el6_5 |
| Red Hat:enterprise_linux:6::computenode | nss-util-debuginfo | 0 | 0:3.16.1-1.el6_5 |
| Red Hat:enterprise_linux:6::computenode | nss-util-devel | 0 | 0:3.16.1-1.el6_5 |
| Red Hat:enterprise_linux:6::server | nspr | 0 | 0:4.10.6-1.el6_5 |
| Red Hat:enterprise_linux:6::server | nspr-debuginfo | 0 | 0:4.10.6-1.el6_5 |
| Red Hat:enterprise_linux:6::server | nspr-devel | 0 | 0:4.10.6-1.el6_5 |
| Red Hat:enterprise_linux:6::server | nss | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::server | nss-debuginfo | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::server | nss-devel | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::server | nss-pkcs11-devel | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::server | nss-sysinit | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::server | nss-tools | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::server | nss-util | 0 | 0:3.16.1-1.el6_5 |
| Red Hat:enterprise_linux:6::server | nss-util-debuginfo | 0 | 0:3.16.1-1.el6_5 |
| Red Hat:enterprise_linux:6::server | nss-util-devel | 0 | 0:3.16.1-1.el6_5 |
| Red Hat:enterprise_linux:6::workstation | nspr | 0 | 0:4.10.6-1.el6_5 |
| Red Hat:enterprise_linux:6::workstation | nspr-debuginfo | 0 | 0:4.10.6-1.el6_5 |
| Red Hat:enterprise_linux:6::workstation | nspr-devel | 0 | 0:4.10.6-1.el6_5 |
| Red Hat:enterprise_linux:6::workstation | nss | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::workstation | nss-debuginfo | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::workstation | nss-devel | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::workstation | nss-pkcs11-devel | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::workstation | nss-sysinit | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::workstation | nss-tools | 0 | 0:3.16.1-4.el6_5 |
| Red Hat:enterprise_linux:6::workstation | nss-util | 0 | 0:3.16.1-1.el6_5 |
| Red Hat:enterprise_linux:6::workstation | nss-util-debuginfo | 0 | 0:3.16.1-1.el6_5 |
| Red Hat:enterprise_linux:6::workstation | nss-util-devel | 0 | 0:3.16.1-1.el6_5 |
| Red Hat:enterprise_linux:7::client | nspr | 0 | 0:4.10.6-1.el7_0 |
| Red Hat:enterprise_linux:7::client | nspr-debuginfo | 0 | 0:4.10.6-1.el7_0 |
| Red Hat:enterprise_linux:7::client | nspr-devel | 0 | 0:4.10.6-1.el7_0 |
| Red Hat:enterprise_linux:7::client | nss | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::client | nss-debuginfo | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::client | nss-devel | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::client | nss-pkcs11-devel | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::client | nss-sysinit | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::client | nss-tools | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::computenode | nspr | 0 | 0:4.10.6-1.el7_0 |
| Red Hat:enterprise_linux:7::computenode | nspr-debuginfo | 0 | 0:4.10.6-1.el7_0 |
| Red Hat:enterprise_linux:7::computenode | nspr-devel | 0 | 0:4.10.6-1.el7_0 |
| Red Hat:enterprise_linux:7::computenode | nss | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::computenode | nss-debuginfo | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::computenode | nss-devel | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::computenode | nss-pkcs11-devel | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::computenode | nss-sysinit | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::computenode | nss-tools | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::server | nspr | 0 | 0:4.10.6-1.el7_0 |
| Red Hat:enterprise_linux:7::server | nspr-debuginfo | 0 | 0:4.10.6-1.el7_0 |
| Red Hat:enterprise_linux:7::server | nspr-devel | 0 | 0:4.10.6-1.el7_0 |
| Red Hat:enterprise_linux:7::server | nss | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::server | nss-debuginfo | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::server | nss-devel | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::server | nss-pkcs11-devel | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::server | nss-sysinit | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::server | nss-tools | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::workstation | nspr | 0 | 0:4.10.6-1.el7_0 |
| Red Hat:enterprise_linux:7::workstation | nspr-debuginfo | 0 | 0:4.10.6-1.el7_0 |
| Red Hat:enterprise_linux:7::workstation | nspr-devel | 0 | 0:4.10.6-1.el7_0 |
| Red Hat:enterprise_linux:7::workstation | nss | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::workstation | nss-debuginfo | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::workstation | nss-devel | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::workstation | nss-pkcs11-devel | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::workstation | nss-sysinit | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:enterprise_linux:7::workstation | nss-tools | 0 | 0:3.15.4-7.el7_0 |
| Red Hat:rhel_els:4::as | nss | 0 | 0:3.12.10-7.el4 |
| Red Hat:rhel_els:4::as | nss-debuginfo | 0 | 0:3.12.10-7.el4 |
| Red Hat:rhel_els:4::as | nss-devel | 0 | 0:3.12.10-7.el4 |
| Red Hat:rhel_els:4::as | nss-tools | 0 | 0:3.12.10-7.el4 |
| Red Hat:rhel_els:4::es | nss | 0 | 0:3.12.10-7.el4 |
| Red Hat:rhel_els:4::es | nss-debuginfo | 0 | 0:3.12.10-7.el4 |
| Red Hat:rhel_els:4::es | nss-devel | 0 | 0:3.12.10-7.el4 |
| Red Hat:rhel_els:4::es | nss-tools | 0 | 0:3.12.10-7.el4 |
| Red Hat:rhel_eus:5.9 | nss | 0 | 0:3.14.3-9.el5_9 |
| Red Hat:rhel_eus:5.9 | nss-debuginfo | 0 | 0:3.14.3-9.el5_9 |
| Red Hat:rhel_eus:5.9 | nss-devel | 0 | 0:3.14.3-9.el5_9 |
| Red Hat:rhel_eus:5.9 | nss-pkcs11-devel | 0 | 0:3.14.3-9.el5_9 |
| Red Hat:rhel_eus:5.9 | nss-tools | 0 | 0:3.14.3-9.el5_9 |
| Red Hat:rhel_eus:6.4::computenode | nss | 0 | 0:3.14.3-6.el6_4 |
| Red Hat:rhel_eus:6.4::computenode | nss-debuginfo | 0 | 0:3.14.3-6.el6_4 |
| Red Hat:rhel_eus:6.4::computenode | nss-devel | 0 | 0:3.14.3-6.el6_4 |
| Red Hat:rhel_eus:6.4::computenode | nss-pkcs11-devel | 0 | 0:3.14.3-6.el6_4 |
| Red Hat:rhel_eus:6.4::computenode | nss-sysinit | 0 | 0:3.14.3-6.el6_4 |
| Red Hat:rhel_eus:6.4::computenode | nss-tools | 0 | 0:3.14.3-6.el6_4 |
| Red Hat:rhel_eus:6.4::server | nss | 0 | 0:3.14.3-6.el6_4 |
| Red Hat:rhel_eus:6.4::server | nss-debuginfo | 0 | 0:3.14.3-6.el6_4 |
| Red Hat:rhel_eus:6.4::server | nss-devel | 0 | 0:3.14.3-6.el6_4 |
| Red Hat:rhel_eus:6.4::server | nss-pkcs11-devel | 0 | 0:3.14.3-6.el6_4 |
| Red Hat:rhel_eus:6.4::server | nss-sysinit | 0 | 0:3.14.3-6.el6_4 |
| Red Hat:rhel_eus:6.4::server | nss-tools | 0 | 0:3.14.3-6.el6_4 |
| Red Hat:rhel_mission_critical:5.6 | nss | 0 | 0:3.12.8-9.el5_6 |
| Red Hat:rhel_mission_critical:5.6 | nss-debuginfo | 0 | 0:3.12.8-9.el5_6 |
| Red Hat:rhel_mission_critical:5.6 | nss-devel | 0 | 0:3.12.8-9.el5_6 |
| Red Hat:rhel_mission_critical:5.6 | nss-pkcs11-devel | 0 | 0:3.12.8-9.el5_6 |
| Red Hat:rhel_mission_critical:5.6 | nss-tools | 0 | 0:3.12.8-9.el5_6 |
| Red Hat:rhel_mission_critical:6.2::server | nss | 0 | 0:3.13.1-10.el6_2 |
| Red Hat:rhel_mission_critical:6.2::server | nss-debuginfo | 0 | 0:3.13.1-10.el6_2 |
| Red Hat:rhel_mission_critical:6.2::server | nss-devel | 0 | 0:3.13.1-10.el6_2 |
| Red Hat:rhel_mission_critical:6.2::server | nss-pkcs11-devel | 0 | 0:3.13.1-10.el6_2 |
| Red Hat:rhel_mission_critical:6.2::server | nss-sysinit | 0 | 0:3.13.1-10.el6_2 |
| Red Hat:rhel_mission_critical:6.2::server | nss-tools | 0 | 0:3.13.1-10.el6_2 |
| Ubuntu:14.04:LTS | firefox | 0 | 31.0+build1-0ubuntu0.14.04.1 |
| Ubuntu:14.04:LTS | nss | 0 | 2:3.15.4-1ubuntu7.1 |
| Ubuntu:14.04:LTS | thunderbird | 0 | 1:31.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 |
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