CVE-2014-1545
NoneCVSS
—
EPSS
6.3%
Published
Jun 11, 2014
CISA due date
—
Cloudanix analysis
A long-fixed flaw in a common support library could let attackers take over or crash programs that use it, so organizations should make sure they are running a patched version.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Remote Code Execution
- Component
- Library
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Out-of-bounds write triggered through unsanitized input to sprintf and console functions in NSPR, enabling arbitrary code execution or denial of service.
Why it matters to the business
Remote compromise of any system embedding the vulnerable runtime library can lead to full host takeover, data theft, or service disruption; the library's widespread use in browsers and server components amplifies exposure across many environments.
How an attack unfolds
An attacker crafts network or local input that reaches sprintf or console routines without proper bounds checking, overflows a buffer on the stack or heap, and either redirects execution to attacker-controlled code or crashes the process.
How to fix it
Upgrade Mozilla NSPR to version 4.10.6 or later; rebuild and redeploy any dependent applications after the update; apply vendor patches for products that bundle NSPR.
How to confirm the fix worked
Query the runtime library version string or file metadata to confirm presence of 4.10.6 or newer; recompile test applications against the updated library and verify absence of the overflow vectors through static analysis or fuzzing.
Typical attack path
- Identify a network-facing service or application that links against the vulnerable NSPR version
- Send a specially formatted request or message containing oversized data targeting sprintf/console paths
- Trigger the out-of-bounds write to corrupt adjacent memory structures
- Achieve arbitrary code execution or force a crash resulting in denial of service
How to detect it
Review process creation logs, crash dumps, and application error logs for unexpected terminations or memory corruption signals around the time of suspected attacks; correlate with inbound network traffic to services known to use NSPR.
What your security team should do
- Inventory all software that statically or dynamically links NSPR and prioritize upgrades for internet-facing systems
- Block or monitor traffic patterns that could reach sprintf/console entry points until patches are applied
- Add the library to vulnerability scanning policies and schedule periodic version checks
The record
Mozilla Netscape Portable Runtime (NSPR) before 4.10.6 allows remote attackers to execute arbitrary code or cause a denial of service (out-of-bounds write) via vectors involving the sprintf and console functions.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | nspr | 0 | 2:4.10.6-1 |
| Debian:12 | nspr | 0 | 2:4.10.6-1 |
| Debian:13 | nspr | 0 | 2:4.10.6-1 |
| Debian:6.0 | nspr | 0 | 4.8.6-1+squeeze2 |
| Debian:7 | icedove | 0 | 24.6.0-1~deb7u1 |
| Debian:7 | iceweasel | 0 | 24.6.0esr-1~deb7u1 |
| Debian:7 | nspr | 0 | 2:4.9.2-1+deb7u2 |
| Red Hat:enterprise_linux:5::client | nss | 0 | 0:3.16.1-2.el5 |
| Red Hat:enterprise_linux:5::client | nss-debuginfo | 0 | 0:3.16.1-2.el5 |
| Red Hat:enterprise_linux:5::client | nss-devel | 0 | 0:3.16.1-2.el5 |
| Red Hat:enterprise_linux:5::client | nss-pkcs11-devel | 0 | 0:3.16.1-2.el5 |
| Red Hat:enterprise_linux:5::client | nss-tools | 0 | 0:3.16.1-2.el5 |
| Red Hat:enterprise_linux:5::client_workstation | nss | 0 | 0:3.16.1-2.el5 |
| Red Hat:enterprise_linux:5::client_workstation | nss-debuginfo | 0 | 0:3.16.1-2.el5 |
| Red Hat:enterprise_linux:5::client_workstation | nss-devel | 0 | 0:3.16.1-2.el5 |
| Red Hat:enterprise_linux:5::client_workstation | nss-pkcs11-devel | 0 | 0:3.16.1-2.el5 |
| Red Hat:enterprise_linux:5::client_workstation | nss-tools | 0 | 0:3.16.1-2.el5 |
| Red Hat:enterprise_linux:5::server | nss | 0 | 0:3.16.1-2.el5 |
| Red Hat:enterprise_linux:5::server | nss-debuginfo | 0 | 0:3.16.1-2.el5 |
| Red Hat:enterprise_linux:5::server | nss-devel | 0 | 0:3.16.1-2.el5 |
| Red Hat:enterprise_linux:5::server | nss-pkcs11-devel | 0 | 0:3.16.1-2.el5 |
| Red Hat:enterprise_linux:5::server | nss-tools | 0 | 0:3.16.1-2.el5 |
| 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-3.el7 |
| Red Hat:enterprise_linux:7::client | nspr-debuginfo | 0 | 0:4.10.6-3.el7 |
| Red Hat:enterprise_linux:7::client | nspr-devel | 0 | 0:4.10.6-3.el7 |
| Red Hat:enterprise_linux:7::client | nss | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::client | nss-debuginfo | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::client | nss-devel | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::client | nss-pkcs11-devel | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::client | nss-softokn | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::client | nss-softokn-debuginfo | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::client | nss-softokn-devel | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::client | nss-softokn-freebl | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::client | nss-softokn-freebl-devel | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::client | nss-sysinit | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::client | nss-tools | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::client | nss-util | 0 | 0:3.16.2.3-2.el7 |
| Red Hat:enterprise_linux:7::client | nss-util-debuginfo | 0 | 0:3.16.2.3-2.el7 |
| Red Hat:enterprise_linux:7::client | nss-util-devel | 0 | 0:3.16.2.3-2.el7 |
| Red Hat:enterprise_linux:7::computenode | nspr | 0 | 0:4.10.6-3.el7 |
| Red Hat:enterprise_linux:7::computenode | nspr-debuginfo | 0 | 0:4.10.6-3.el7 |
| Red Hat:enterprise_linux:7::computenode | nspr-devel | 0 | 0:4.10.6-3.el7 |
| Red Hat:enterprise_linux:7::computenode | nss | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::computenode | nss-debuginfo | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::computenode | nss-devel | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::computenode | nss-pkcs11-devel | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::computenode | nss-softokn | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::computenode | nss-softokn-debuginfo | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::computenode | nss-softokn-devel | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::computenode | nss-softokn-freebl | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::computenode | nss-softokn-freebl-devel | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::computenode | nss-sysinit | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::computenode | nss-tools | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::computenode | nss-util | 0 | 0:3.16.2.3-2.el7 |
| Red Hat:enterprise_linux:7::computenode | nss-util-debuginfo | 0 | 0:3.16.2.3-2.el7 |
| Red Hat:enterprise_linux:7::computenode | nss-util-devel | 0 | 0:3.16.2.3-2.el7 |
| Red Hat:enterprise_linux:7::server | nspr | 0 | 0:4.10.6-3.el7 |
| Red Hat:enterprise_linux:7::server | nspr-debuginfo | 0 | 0:4.10.6-3.el7 |
| Red Hat:enterprise_linux:7::server | nspr-devel | 0 | 0:4.10.6-3.el7 |
| Red Hat:enterprise_linux:7::server | nss | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::server | nss-debuginfo | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::server | nss-devel | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::server | nss-pkcs11-devel | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::server | nss-softokn | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::server | nss-softokn-debuginfo | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::server | nss-softokn-devel | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::server | nss-softokn-freebl | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::server | nss-softokn-freebl-devel | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::server | nss-sysinit | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::server | nss-tools | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::server | nss-util | 0 | 0:3.16.2.3-2.el7 |
| Red Hat:enterprise_linux:7::server | nss-util-debuginfo | 0 | 0:3.16.2.3-2.el7 |
| Red Hat:enterprise_linux:7::server | nss-util-devel | 0 | 0:3.16.2.3-2.el7 |
| Red Hat:enterprise_linux:7::workstation | nspr | 0 | 0:4.10.6-3.el7 |
| Red Hat:enterprise_linux:7::workstation | nspr-debuginfo | 0 | 0:4.10.6-3.el7 |
| Red Hat:enterprise_linux:7::workstation | nspr-devel | 0 | 0:4.10.6-3.el7 |
| Red Hat:enterprise_linux:7::workstation | nss | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::workstation | nss-debuginfo | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::workstation | nss-devel | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::workstation | nss-pkcs11-devel | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::workstation | nss-softokn | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::workstation | nss-softokn-debuginfo | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::workstation | nss-softokn-devel | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::workstation | nss-softokn-freebl | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::workstation | nss-softokn-freebl-devel | 0 | 0:3.16.2.3-9.el7 |
| Red Hat:enterprise_linux:7::workstation | nss-sysinit | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::workstation | nss-tools | 0 | 0:3.16.2.3-5.el7 |
| Red Hat:enterprise_linux:7::workstation | nss-util | 0 | 0:3.16.2.3-2.el7 |
| Red Hat:enterprise_linux:7::workstation | nss-util-debuginfo | 0 | 0:3.16.2.3-2.el7 |
| Red Hat:enterprise_linux:7::workstation | nss-util-devel | 0 | 0:3.16.2.3-2.el7 |
| Ubuntu:14.04:LTS | nspr | 0 | 2:4.10.2-1ubuntu1.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-nspr | 0 | 4.12-2.1 |
Related vulnerabilities
- CVE-2016-1951 Multiple integer overflows in io/prprf.c in Mozilla Netscape Portable Runtime (NSPR)… Also affects nspr
- CVE-2015-7183 Integer overflow in the PL_ARENA_ALLOCATE implementation in Netscape Portable Runtime… Also affects nspr
- CVE-2009-0689 Array index error in the (1) dtoa implementation in dtoa.c (aka pdtoa.c) and the (2)… Also affects nspr
- CVE-2017-7753 An out-of-bounds read occurs when applying style rules to pseudo-elements, such as… Also affects icedove
- CVE-2017-5470 Memory safety bugs were reported in Firefox 53 and Firefox ESR 52.1. Also affects icedove
- CVE-2017-5404 A use-after-free error can occur when manipulating ranges in selections with one node… Also affects icedove
- CVE-2017-5398 Memory safety bugs were reported in Thunderbird 45.7. Also affects icedove
- CVE-2016-9899 Use-after-free while manipulating DOM events and removing audio elements due to errors in… Also affects icedove