What Is GNU Bash?
GNU Bash is the default shell on virtually all Linux distributions, macOS (through Catalina), and many embedded Unix systems. CVE-2014-6278 is part of the Shellshock family of vulnerabilities — a series of related Bash parsing flaws discovered in rapid succession in September 2014 following the initial Shellshock disclosure (CVE-2014-6271). See the CVE-2014-6271 page for full background on the Shellshock vulnerability class and attack vectors.
Overview
CVE-2014-6278 is a Shellshock variant in GNU Bash that describes an additional code injection path — separate from both CVE-2014-6271 and CVE-2014-7169 — that allows remote code execution through crafted environment variables. Discovered during the intensive security research that followed the original Shellshock disclosure, CVE-2014-6278 was identified by security researchers including Michal Zalewski (lcamtuf) and represents a deeper parsing flaw in how Bash initializes function definitions from the environment. The fix was included in Bash 4.3 patch 27. CISA added this to the KEV catalog in October 2025, confirming that Shellshock-family vulnerabilities on unpatched embedded and legacy systems continue to be actively exploited over a decade after disclosure.
Affected Versions
| Bash | CVE-2014-6278 | Status |
|---|---|---|
| ≤ 4.3 patch 26 | Vulnerable | Systems with patch 26 but not patch 27 |
| 4.3 patch 27+ | Fixed | Full fix for CVE-2014-6278 |
| Distribution packages post-September 2014 | Fixed | Distros issued updated packages incorporating all patches |
Technical Details
Root Cause: Additional Bash Environment Parsing Code Path
While CVE-2014-6271 involved trailing commands after function definitions in () { ... } syntax, and CVE-2014-7169 described a bypass of the patch 25 fix, CVE-2014-6278 identifies a further code path in Bash's environment initialization that can be triggered using different environment variable content patterns.
The vulnerability stems from Bash's complex parsing of environment variables during shell startup. When Bash initializes, it scans all environment variables for ones that look like function definitions and imports them. CVE-2014-6278 involves a parsing edge case — possibly related to how Bash handles certain quoting, whitespace, or escape sequences in environment variables — that allows code injection via a different syntactic form that escaped the earlier patches.
The practical impact is the same as CVE-2014-6271: an attacker who can control an environment variable passed to a Bash subprocess (via CGI, DHCP, SSH ForceCommand, etc.) can execute arbitrary commands during Bash initialization.
Attack Vectors
The same attack vectors as CVE-2014-6271 apply:
- CGI scripts: HTTP headers passed as environment variables to CGI-invoked Bash
- DHCP client: Option fields from rogue DHCP servers passed to Bash hooks
- SSH ForceCommand: Environment variable injection via SSH connections
- Other services: Any service that invokes Bash with user-controlled environment variables
Attack Characteristics
| Attribute | Detail |
|---|---|
| Attack Vector | Network — via any service invoking Bash with user env vars |
| Authentication | None required (for CGI/DHCP vectors) |
| Bash Patches | Fixed in patch 27 (patches 25 and 26 insufficient) |
| Discovery | Michal Zalewski (lcamtuf) and other researchers, Sep 2014 |
Discovery
Identified by Michal Zalewski (lcamtuf, Google Project Zero) and other researchers during intensive analysis of Bash's parsing code following the CVE-2014-6271 disclosure. The rapid discovery of multiple independent Shellshock variants reflected the complexity of Bash's environment variable handling and the concentrated security research attention it received in September 2014.
Exploitation Context
- Shellshock exploitation wave: All Shellshock variants were exploited in the same mass scanning campaigns in September 2014; botnets and worms targeted CGI endpoints with variants of the Shellshock payload
- Embedded systems long tail: Routers, NAS devices, IP cameras, and industrial systems running Bash without patch 27 remain vulnerable; many will never receive updates
- CISA KEV (2025): Added October 2025 — eleven years after disclosure — reflecting confirmed exploitation against legacy and embedded systems that remain unpatched
- No CVE without a patch: Unlike CVE-2014-6271 (widely patched), this variant may have been missed in some patch tracking, leaving systems that believe they are patched still vulnerable
Remediation
-
Update Bash to patch 27 or later (or the distribution-packaged equivalent that incorporates all Shellshock patches). Patch 25 or 26 alone is not sufficient for this CVE. Verify:
bash --version. -
Confirm distribution package version: Major Linux distributions (RHEL, CentOS, Debian, Ubuntu, SUSE) all released packages incorporating patches through 27 in October 2014. Run
yum update bashorapt-get upgrade bashand verify. -
Embedded and IoT devices: Apply latest firmware incorporating all Shellshock patches. Devices receiving only an initial patch (for CVE-2014-6271 only) may not include the fix for CVE-2014-6278.
-
Disable CGI scripts using Bash if not required. Use non-Bash interpreters (Python, Perl, PHP) for CGI scripts that receive user-controlled HTTP headers.
-
Network isolation: Restrict access to services that invoke Bash with external data (CGI web servers, DHCP clients on untrusted networks) to trusted networks only.
Key Details
| Property | Value |
|---|---|
| CVE ID | CVE-2014-6278 |
| Vendor / Product | GNU — GNU Bash |
| NVD Published | 2014-09-30 |
| NVD Last Modified | 2025-10-22 |
| CVSS 3.1 Score | 8.8 |
| CVSS 3.1 Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| Severity | HIGH |
| CWE | CWE-78 — Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection') find similar ↗ |
| CISA KEV Added | 2025-10-02 |
| CISA KEV Deadline | 2025-10-23 |
| Known Ransomware Use | No |
CVSS 3.1 Breakdown
Required Action
Timeline
| Date | Event |
|---|---|
| 2014-09-24 | Original Shellshock (CVE-2014-6271) disclosed; Bash patch 25 released |
| 2014-09-25 | CVE-2014-7169 disclosed (bypass of patch 25); Bash patch 26 released |
| 2014-09-27 | CVE-2014-6278 and additional Shellshock variants identified by Michal Zalewski (lcamtuf) and others |
| 2014-09-29 | Bash patch 27 released, addressing CVE-2014-6278 and related variants |
| 2014-09-30 | CVE-2014-6278 published by NVD |
| 2025-10-02 | Added to CISA Known Exploited Vulnerabilities catalog |
| 2025-10-23 | CISA BOD 22-01 remediation deadline |
References
| Resource | Type |
|---|---|
| NVD — CVE-2014-6278 | Vulnerability Database |
| CISA KEV Catalog Entry | US Government |
| Bash 4.3 Patch 27 — Additional Shellshock fix addressing CVE-2014-6278 | Vendor Advisory |
| Cisco Security Advisory — Bash Remote Code Execution (Shellshock) | Vendor Advisory |