CVE-2014-1569
NoneCVSS
—
EPSS
3.2%
Published
Dec 15, 2014
CISA due date
—
Cloudanix analysis
A flaw in core security software lets attackers slip hidden data past checks, which could let them read or change information that should stay protected.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Data Tampering
- Component
- Library
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The definite_length_decoder in NSS quickder.c fails to validate ASN.1 DER length encodings, permitting arbitrary-length sequences such as an encoding of 0x00 that bypasses intended bounds checks in SEC_QuickDERDecodeItem and enables data smuggling.
Why it matters to the business
Systems relying on NSS for cryptographic parsing face risk of data integrity violations and unauthorized information disclosure in TLS, certificate handling, and related secure protocols, with elevated urgency due to public exploit availability for over a decade.
How an attack unfolds
An attacker crafts a network payload containing ASN.1 DER structures with an improperly formed length field consisting of a long byte sequence representing 0x00, transmits it to a service using vulnerable NSS, and the decoder misinterprets the structure to smuggle additional attacker-controlled data past validation.
How to fix it
Upgrade Mozilla NSS to version 3.16.2.4 or 3.17.3 or later; rebuild and redeploy all dependent applications; disable unnecessary ASN.1 parsing paths where feasible until patches are applied.
How to confirm the fix worked
Inventory NSS shared libraries and verify versions are at or above 3.16.2.4 / 3.17.3; run regression tests using known-malformed DER length vectors against SEC_QuickDERDecodeItem; confirm absence of the vulnerable quickder.c code path.
Typical attack path
- Locate network-accessible service or application linked to vulnerable NSS
- Generate ASN.1 DER blob with oversized or malformed length encoding for value 0x00
- Deliver the payload via TLS handshake, certificate exchange, or other NSS-parsed input
- Trigger SEC_QuickDERDecodeItem to process the structure and achieve smuggling
- Leverage smuggled data for further protocol manipulation or information disclosure
How to detect it
Search application and TLS logs for parsing anomalies around ASN.1 DER structures, repeated SEC_QuickDERDecodeItem calls with unusual length values, or unexpected data following a zero-length encoding; correlate with network captures containing long byte runs encoding 0x00.
- SEC_QuickDERDecodeItem
- definite_length_decoder
- quickder.c
- arbitrary-length encoding of 0x00
What your security team should do
- Prioritize patching NSS across all products given public exploit maturity and long exposure window
- Scan for and replace any statically linked or bundled NSS copies older than the fixed releases
- Implement network-level filtering for anomalous ASN.1 DER length fields where possible
- Review certificate and TLS handling code for reliance on the affected decoder
The record
The definite_length_decoder function in lib/util/quickder.c in Mozilla Network Security Services (NSS) before 3.16.2.4 and 3.17.x before 3.17.3 does not ensure that the DER encoding of an ASN.1 length is properly formed, which allows remote attackers to conduct data-smuggling attacks by using a long byte sequence for an encoding, as demonstrated by the SEC_QuickDERDecodeItem function's improper handling of an arbitrary-length encoding of 0x00.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | nss | 0 | 2:3.17.2-1.1 |
| Debian:12 | nss | 0 | 2:3.17.2-1.1 |
| Debian:13 | nss | 0 | 2:3.17.2-1.1 |
| Debian:6.0 | nss | 0 | 3.12.8-1+squeeze11 |
| Debian:7 | nss | 0 | 2:3.14.5-1+deb7u4 |
| Mageia:4 | firefox | 0 | 31.3.0-1.mga4 |
| Mageia:4 | firefox-l10n | 0 | 31.3.0-1.mga4 |
| Mageia:4 | nss | 0 | 3.17.3-1.mga4 |
| Mageia:4 | rootcerts | 0 | 20141117.00-1.mga4 |
| Mageia:4 | thunderbird | 0 | 31.3.0-1.mga4 |
| Mageia:4 | thunderbird-l10n | 0 | 31.3.0-1.mga4 |
| Red Hat:enterprise_linux:5::client | nspr | 0 | 0:4.10.8-1.el5_11 |
| Red Hat:enterprise_linux:5::client | nspr-debuginfo | 0 | 0:4.10.8-1.el5_11 |
| Red Hat:enterprise_linux:5::client | nspr-devel | 0 | 0:4.10.8-1.el5_11 |
| Red Hat:enterprise_linux:5::client | nss | 0 | 0:3.18.0-6.el5_11 |
| Red Hat:enterprise_linux:5::client | nss-debuginfo | 0 | 0:3.18.0-6.el5_11 |
| Red Hat:enterprise_linux:5::client | nss-devel | 0 | 0:3.18.0-6.el5_11 |
| Red Hat:enterprise_linux:5::client | nss-pkcs11-devel | 0 | 0:3.18.0-6.el5_11 |
| Red Hat:enterprise_linux:5::client | nss-tools | 0 | 0:3.18.0-6.el5_11 |
| Red Hat:enterprise_linux:5::client_workstation | nspr | 0 | 0:4.10.8-1.el5_11 |
| Red Hat:enterprise_linux:5::client_workstation | nspr-debuginfo | 0 | 0:4.10.8-1.el5_11 |
| Red Hat:enterprise_linux:5::client_workstation | nspr-devel | 0 | 0:4.10.8-1.el5_11 |
| Red Hat:enterprise_linux:5::client_workstation | nss | 0 | 0:3.18.0-6.el5_11 |
| Red Hat:enterprise_linux:5::client_workstation | nss-debuginfo | 0 | 0:3.18.0-6.el5_11 |
| Red Hat:enterprise_linux:5::client_workstation | nss-devel | 0 | 0:3.18.0-6.el5_11 |
| Red Hat:enterprise_linux:5::client_workstation | nss-pkcs11-devel | 0 | 0:3.18.0-6.el5_11 |
| Red Hat:enterprise_linux:5::client_workstation | nss-tools | 0 | 0:3.18.0-6.el5_11 |
| Red Hat:enterprise_linux:5::server | nspr | 0 | 0:4.10.8-1.el5_11 |
| Red Hat:enterprise_linux:5::server | nspr-debuginfo | 0 | 0:4.10.8-1.el5_11 |
| Red Hat:enterprise_linux:5::server | nspr-devel | 0 | 0:4.10.8-1.el5_11 |
| Red Hat:enterprise_linux:5::server | nss | 0 | 0:3.18.0-6.el5_11 |
| Red Hat:enterprise_linux:5::server | nss-debuginfo | 0 | 0:3.18.0-6.el5_11 |
| Red Hat:enterprise_linux:5::server | nss-devel | 0 | 0:3.18.0-6.el5_11 |
| Red Hat:enterprise_linux:5::server | nss-pkcs11-devel | 0 | 0:3.18.0-6.el5_11 |
| Red Hat:enterprise_linux:5::server | nss-tools | 0 | 0:3.18.0-6.el5_11 |
| Red Hat:enterprise_linux:6::client | nspr | 0 | 0:4.10.8-1.el6_6 |
| Red Hat:enterprise_linux:6::client | nspr-debuginfo | 0 | 0:4.10.8-1.el6_6 |
| Red Hat:enterprise_linux:6::client | nspr-devel | 0 | 0:4.10.8-1.el6_6 |
| Red Hat:enterprise_linux:6::client | nss | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::client | nss-debuginfo | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::client | nss-devel | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::client | nss-pkcs11-devel | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::client | nss-sysinit | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::client | nss-tools | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::client | nss-util | 0 | 0:3.18.0-1.el6_6 |
| Red Hat:enterprise_linux:6::client | nss-util-debuginfo | 0 | 0:3.18.0-1.el6_6 |
| Red Hat:enterprise_linux:6::client | nss-util-devel | 0 | 0:3.18.0-1.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nspr | 0 | 0:4.10.8-1.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nspr-debuginfo | 0 | 0:4.10.8-1.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nspr-devel | 0 | 0:4.10.8-1.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nss | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nss-debuginfo | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nss-devel | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nss-pkcs11-devel | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nss-sysinit | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nss-tools | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nss-util | 0 | 0:3.18.0-1.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nss-util-debuginfo | 0 | 0:3.18.0-1.el6_6 |
| Red Hat:enterprise_linux:6::computenode | nss-util-devel | 0 | 0:3.18.0-1.el6_6 |
| Red Hat:enterprise_linux:6::server | nspr | 0 | 0:4.10.8-1.el6_6 |
| Red Hat:enterprise_linux:6::server | nspr-debuginfo | 0 | 0:4.10.8-1.el6_6 |
| Red Hat:enterprise_linux:6::server | nspr-devel | 0 | 0:4.10.8-1.el6_6 |
| Red Hat:enterprise_linux:6::server | nss | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::server | nss-debuginfo | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::server | nss-devel | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::server | nss-pkcs11-devel | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::server | nss-sysinit | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::server | nss-tools | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::server | nss-util | 0 | 0:3.18.0-1.el6_6 |
| Red Hat:enterprise_linux:6::server | nss-util-debuginfo | 0 | 0:3.18.0-1.el6_6 |
| Red Hat:enterprise_linux:6::server | nss-util-devel | 0 | 0:3.18.0-1.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nspr | 0 | 0:4.10.8-1.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nspr-debuginfo | 0 | 0:4.10.8-1.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nspr-devel | 0 | 0:4.10.8-1.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nss | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nss-debuginfo | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nss-devel | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nss-pkcs11-devel | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nss-sysinit | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nss-tools | 0 | 0:3.18.0-5.3.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nss-util | 0 | 0:3.18.0-1.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nss-util-debuginfo | 0 | 0:3.18.0-1.el6_6 |
| Red Hat:enterprise_linux:6::workstation | nss-util-devel | 0 | 0:3.18.0-1.el6_6 |
| Red Hat:enterprise_linux:7::client | nspr | 0 | 0:4.10.8-1.el7_1 |
| Red Hat:enterprise_linux:7::client | nspr-debuginfo | 0 | 0:4.10.8-1.el7_1 |
| Red Hat:enterprise_linux:7::client | nspr-devel | 0 | 0:4.10.8-1.el7_1 |
| Red Hat:enterprise_linux:7::client | nss | 0 | 0:3.18.0-2.2.el7_1 |
| Red Hat:enterprise_linux:7::client | nss-debuginfo | 0 | 0:3.18.0-2.2.el7_1 |
| Red Hat:enterprise_linux:7::client | nss-devel | 0 | 0:3.18.0-2.2.el7_1 |
| Red Hat:enterprise_linux:7::client | nss-pkcs11-devel | 0 | 0:3.18.0-2.2.el7_1 |
| Red Hat:enterprise_linux:7::client | nss-sysinit | 0 | 0:3.18.0-2.2.el7_1 |
| Red Hat:enterprise_linux:7::client | nss-tools | 0 | 0:3.18.0-2.2.el7_1 |
| Red Hat:enterprise_linux:7::client | nss-util | 0 | 0:3.18.0-1.el7_1 |
| Red Hat:enterprise_linux:7::client | nss-util-debuginfo | 0 | 0:3.18.0-1.el7_1 |
| Red Hat:enterprise_linux:7::client | nss-util-devel | 0 | 0:3.18.0-1.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nspr | 0 | 0:4.10.8-1.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nspr-debuginfo | 0 | 0:4.10.8-1.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nspr-devel | 0 | 0:4.10.8-1.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nss | 0 | 0:3.18.0-2.2.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nss-debuginfo | 0 | 0:3.18.0-2.2.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nss-devel | 0 | 0:3.18.0-2.2.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nss-pkcs11-devel | 0 | 0:3.18.0-2.2.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nss-sysinit | 0 | 0:3.18.0-2.2.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nss-tools | 0 | 0:3.18.0-2.2.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nss-util | 0 | 0:3.18.0-1.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nss-util-debuginfo | 0 | 0:3.18.0-1.el7_1 |
| Red Hat:enterprise_linux:7::computenode | nss-util-devel | 0 | 0:3.18.0-1.el7_1 |
| Red Hat:enterprise_linux:7::server | nspr | 0 | 0:4.10.8-1.ael7b_1 |
| Red Hat:enterprise_linux:7::server | nspr-debuginfo | 0 | 0:4.10.8-1.ael7b_1 |
| Red Hat:enterprise_linux:7::server | nspr-devel | 0 | 0:4.10.8-1.ael7b_1 |
| Red Hat:enterprise_linux:7::server | nss | 0 | 0:3.18.0-2.2.ael7b_1 |
| Red Hat:enterprise_linux:7::server | nss-debuginfo | 0 | 0:3.18.0-2.2.ael7b_1 |
| Red Hat:enterprise_linux:7::server | nss-devel | 0 | 0:3.18.0-2.2.ael7b_1 |
| Red Hat:enterprise_linux:7::server | nss-pkcs11-devel | 0 | 0:3.18.0-2.2.ael7b_1 |
| Red Hat:enterprise_linux:7::server | nss-sysinit | 0 | 0:3.18.0-2.2.ael7b_1 |
| Red Hat:enterprise_linux:7::server | nss-tools | 0 | 0:3.18.0-2.2.ael7b_1 |
| Red Hat:enterprise_linux:7::server | nss-util | 0 | 0:3.18.0-1.ael7b_1 |
| Red Hat:enterprise_linux:7::server | nss-util-debuginfo | 0 | 0:3.18.0-1.ael7b_1 |
| Red Hat:enterprise_linux:7::server | nss-util-devel | 0 | 0:3.18.0-1.ael7b_1 |
| Red Hat:enterprise_linux:7::workstation | nspr | 0 | 0:4.10.8-1.el7_1 |
| Red Hat:enterprise_linux:7::workstation | nspr-debuginfo | 0 | 0:4.10.8-1.el7_1 |
| Red Hat:enterprise_linux:7::workstation | nspr-devel | 0 | 0:4.10.8-1.el7_1 |
| Red Hat:enterprise_linux:7::workstation | nss | 0 | 0:3.18.0-2.2.el7_1 |
| Red Hat:enterprise_linux:7::workstation | nss-debuginfo | 0 | 0:3.18.0-2.2.el7_1 |
| Red Hat:enterprise_linux:7::workstation | nss-devel | 0 | 0:3.18.0-2.2.el7_1 |
| Red Hat:enterprise_linux:7::workstation | nss-pkcs11-devel | 0 | 0:3.18.0-2.2.el7_1 |
| Red Hat:enterprise_linux:7::workstation | nss-sysinit | 0 | 0:3.18.0-2.2.el7_1 |
| Red Hat:enterprise_linux:7::workstation | nss-tools | 0 | 0:3.18.0-2.2.el7_1 |
| Red Hat:enterprise_linux:7::workstation | nss-util | 0 | 0:3.18.0-1.el7_1 |
| Red Hat:enterprise_linux:7::workstation | nss-util-debuginfo | 0 | 0:3.18.0-1.el7_1 |
| Red Hat:enterprise_linux:7::workstation | nss-util-devel | 0 | 0:3.18.0-1.el7_1 |
| Ubuntu:14.04:LTS | nss | 0 | 2:3.17.1-0ubuntu0.14.04.2 |
| 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