vulnerability · 1411516800000
Shellshock Vulnerability Disclosure
Disclosure of Shellshock (CVE-2014-6271), a family of security bugs in the widely used GNU Bash shell that enabled remote code execution.
What happened
A vulnerability was disclosed in GNU Bash that allowed attackers to append malicious commands to environment variables. Many network services, such as web servers using Common Gateway Interface (CGI), pass information to Bash via environment variables, inadvertently executing the attacker's commands.
Technical mechanism
Bash incorrectly executed trailing commands when it imported a function definition from an environment variable. Attackers could craft HTTP requests with malicious headers that the web server would pass to a Bash CGI script as environment variables, triggering execution.
Why it matters
Due to the ubiquity of Bash in Linux and Unix systems, Shellshock allowed attackers to easily execute arbitrary commands remotely on millions of internet-facing services, particularly web servers using CGI scripts.
Impact
Millions of servers, routers, and IoT devices were vulnerable. Attackers quickly exploited the flaw in the wild to deploy botnets, conduct DDoS attacks, and breach systems.
Response
Patches were rapidly developed and deployed by Linux and Unix vendors, though initial patches were incomplete, leading to the discovery of related CVEs (e.g., CVE-2014-7169). Organizations urgently scanned for and patched vulnerable systems.
Defensive lessons
- Input validation and sanitization must occur at all boundaries, especially when passing data to command interpreters.
- The principle of least privilege should be applied to network services to limit the impact of command execution vulnerabilities.
- Legacy technologies like CGI introduce significant risks when interacting with complex command interpreters.
Evidence register
- National Vulnerability Database (NVD) — CVE-2014-6271 Detail (verified)