Critical
CVE-2014-6271 · "Shellshock"

Shellshock Explained: The Bash Bug That Hid in Plain Sight for 25 Years

In September 2014, researchers found that Bash — the shell running quietly inside almost every Linux and Unix system — had been parsing environment variables in a way that let attackers smuggle in commands. The bug had existed, unnoticed, since 1989.

Quick facts
CVE IDCVE-2014-6271 (plus related follow-up CVEs)
Affected softwareGNU Bash, all versions through 4.3
SeverityCVSS 9.8 (Critical) — unauthenticated remote code execution
Fixed inPatched Bash releases issued by all major Linux distributions, September 2014 onward
DisclosedSeptember 24, 2014

What Happened

Bash lets you define shell functions and store them in environment variables so child processes can reuse them. The bug was in how Bash parsed those variables: if a variable's value looked like a function definition followed by extra commands, Bash would run the extra commands too — even though it was only supposed to store the function.

This became dangerous because many web servers pass user input (like HTTP headers) into environment variables before handing them to Bash, for example through CGI scripts. An attacker could put a malicious "function" in a header like User-Agent, and the server would execute it.

What This Means

Like EternalBlue and Log4Shell, this was a remote code execution bug — but what made it unusual was its age. The flawed parsing logic had shipped in Bash since 1989, sitting unnoticed in essentially every Unix-like system on the planet for 25 years before anyone caught it.

Why You Should Care

Shellshock is a reminder that "old and widely used" doesn't mean "well audited." Foundational software that everyone assumes is solid can carry bugs for decades simply because it works fine in normal use and nobody goes looking. It also showed how dangerous it is to let untrusted network input flow into a shell environment without sanitization.

What You Can Do

Real-world impact

Within hours of disclosure, internet-wide scanning for vulnerable CGI endpoints began, and Shellshock was used to build botnets and compromise servers worldwide — one of several follow-up CVEs had to be issued because the first patch was incomplete.

Shellshock in one sentence

A quarter-century-old parsing quirk in the shell underneath most of the internet's servers turned ordinary HTTP requests into a path for remote code execution.

Explore More CVEs