GNU Bash bis 3.2.48 Environment Variable variables.c Shellshock erweiterte Rechte

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
9.3$0-$5k0.02

Eine sehr kritische Schwachstelle wurde in GNU Bash gefunden. Davon betroffen ist unbekannter Code der Datei variables.c der Komponente Environment Variable Handler. Mit der Manipulation des Arguments Environment mit einer unbekannten Eingabe kann eine erweiterte Rechte-Schwachstelle (Shellshock) ausgenutzt werden. Klassifiziert wurde die Schwachstelle durch CWE als CWE-78. Auswirkungen hat dies auf Vertraulichkeit, Integrität und Verfügbarkeit. Die Zusammenfassung von CVE lautet:

GNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which allows remote attackers to execute arbitrary code via a crafted environment, as demonstrated by vectors involving the ForceCommand feature in OpenSSH sshd, the mod_cgi and mod_cgid modules in the Apache HTTP Server, scripts executed by unspecified DHCP clients, and other situations in which setting the environment occurs across a privilege boundary from Bash execution, aka "ShellShock." NOTE: the original fix for this issue was incorrect; CVE-2014-7169 has been assigned to cover the vulnerability that is still present after the incorrect fix.
Verwundbar sind alle Systeme, die eine Bash-Shell unterstützen. Dies sind traditionellerweise Unix- und Linux-Systeme, die bei einem Grossteil der Internet-Infrastruktur eingesetzt werden. Mac OS X ist ebenfalls ein Unix-Derivat und demenstprechend auch betroffen. Gleiches könnte bei Android-basierten Geräten der Fall sein, sofern denn explizit Bash benutzt wird. Voraussetzung für eine erfolgreiche Attacke ist, dass ein Angreifer in irgendeiner Form Daten an diese Shell schicken kann. Dies kann typischerweise im Rahmen eines Formulars auf einer Webseite erfolgen.

Die Schwachstelle wurde am 24.09.2014 durch Stephane Chazelas als remote code execution through bash in Form eines bestätigten Mailinglist Posts (oss-sec) herausgegeben. Bereitgestellt wird das Advisory unter seclists.org. Im Advisory ist nachzulesen:

Chet Ramey, the GNU bash upstream maintainer, will soon release official upstream patches.
Robert Graham schreibt in einem unmittelbar erschienenen Blog Post, dass diese Bash-Schwachstelle mindestens so schwerwiegend wie Heartbleed war. Die Verwundbarkeit wird seit dem 09.09.2014 mit der eindeutigen Identifikation CVE-2014-6271 gehandelt. Die Schwachstelle ist relativ beliebt, was unter anderem auf ihre geringe Komplexität zurückzuführen ist. Umgesetzt werden kann der Angriff über das Netzwerk. Das Ausnutzen erfordert keine spezifische Authentisierung. Es sind technische Details sowie ein öffentlicher Exploit zur Schwachstelle bekannt. Ein Exploit zur Schwachstelle wird momentan etwa USD $0-$5k kosten (Preisberechnung vom 21.02.2022). Als Angriffstechnik weist das MITRE ATT&CK Projekt die ID T1202 aus. Die spezielle Ausprägung dieser Schwachstelle führt dazu, dass ihr ein gewisses historisches Interesse beigemessen werden kann. Das Advisory weist darauf hin:
(...) a vulnerability in bash, related to how environment variables are processed: trailing code in function definitions was executed, independent of the variable name.
In erster Linie sind Shell-Skripte im Zusammenhang mit Webserver (CGI) betroffen. Doch auch verschiedene Konstellationen mit SSH, DHCP Clients, CUPS und sudo können betroffen sein.

Ein öffentlicher Exploit wurde durch Huzaifa Sidhpurwala in Bash entwickelt und sofort nach dem Advisory veröffentlicht. Der Exploit wird unter securityblog.redhat.com zur Verfügung gestellt. Er wird als hoch funktional gehandelt und gilt gemeinhin als sehr zuverlässig. Der Preis als 0-Day war auf dem Schwarzmarkt etwa $100k und mehr. Für den Vulnerability Scanner Nessus wurde am 29.09.2014 ein Plugin mit der ID 77970 (Qmail Remote Command Execution via Shellshock) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann. Es wird der Family SMTP problems zugeordnet. Eine Analyse geschieht mit folgendem NASL-Code:

if (rpm_check(release:"ALA", reference:"bash-4.1.2-15.19.amzn1")) flag++;
if (rpm_check(release:"ALA", reference:"bash-debuginfo-4.1.2-15.19.amzn1")) flag++;
if (rpm_check(release:"ALA", reference:"bash-doc-4.1.2-15.19.amzn1")) flag++;

if (flag)
{
  if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
  else security_hole(0);
  exit(0);
}
Der kommerzielle Vulnerability Scanner Qualys bietet das Plugin 370037 (Citrix XenServer Security Update (CTX200223)) zur Prüfung der Schwachstelle an. Der durch den Exploit genutzte Code gestaltet sich wie folgt:
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
Es sind erste Exploits bekannt, die zur automatisierten Ausnutzung der Schwachstelle eingesetzt werden können. Unter anderem können auch DHCP-Clients und gar DHCP-Server erfolgreich kompromittiert werden. Es ist also nur eine Frage der Zeit, bis umfangreiche Angriffe oder gar ein darauf aufbauender Computerwurm initiiert werden. Mit grösster Wahrscheinlichkeit sind gegenwärtig diverse Stellen darum bemüht, diese Schwachstelle zu ihrem Vorteil nutzen zu können.

Die Schwachstelle lässt sich durch das Einspielen eines Patches lösen. Dieser kann von bugzilla.novell.com bezogen werden. Das Problem kann zusätzlich durch den Einsatz von Shell als alternatives Produkt mitigiert werden. Als bestmögliche Massnahme wird das Installieren des jeweiligen Patches empfohlen. Das Erscheinen einer Gegenmassnahme geschah schon vor und nicht nach der Veröffentlichung der Schwachstelle. GNU hat so vorab gehandelt. Red Hat hat diverse mod_security Regeln veröffentlicht, die das Ausnutzen der Schwachstelle verhindern. Ebenso kann mittels IPTables eine vergleichbare Einschränkung durchgesetzt werden: "iptables using -m string --hex-string '|28 29 20 7B|'" Die für Snort und Suricata vorgestellten Signaturen suchen nach der Zeichenkette "() {" in einem HTTP-Header. Apple will ein Update ausliefern, das die Lücke stopft, gibt aber kein konkretes Datum bekannt. Angriffe können durch Snort ID 31975 erkannt werden. Als Pattern zur Identifikation wird () { verwendet. Weiterführend können Angriffe durch TippingPoint mittels dem Filter 16800 erkannt werden.

Unter anderem wird der Fehler auch in den Datenbanken von X-Force (96209), Tenable (77970) und Exploit-DB (34765) dokumentiert. Ein Bericht in deutscher Sprache wird unter anderem durch Heise bereitgestellt. Unter access.redhat.com werden zusätzliche Informationen bereitgestellt. Schwachstellen ähnlicher Art sind dokumentiert unter 67711 und 71528.

Betroffen

  • Apple iPhone (Jailbreak only)
  • Apple Mac OS X bis 10.9.4
  • Debian GNU/Linux bis 4.1-3/4.2
  • F5 BIG-IP bis 11.6.0
  • Madravia Linux 1.0
  • Palo Alto PAN-OS bis 6.0
  • Red Hat Linux 4/5/6/7
  • Slackware Linux bis 14.1
  • SuSE openSUSE 11.0
  • Ubuntu Linux bis 14.04 LTS
  • VMware Fusion

Nicht betroffen

  • Android Default Installation
  • FreeBSD Default Installation
  • NetBSD Default Installation
  • OpenBSD Default Installation

Produktinfo

Hersteller

Name

Version

Lizenz

CPE 2.3info

CPE 2.2info

Screenshot

Video

Youtube: Nicht mehr verfügbar

CVSSv4info

VulDB CVSS-B Score: 🔍
VulDB CVSS-BT Score: 🔍
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

CVSSv3info

VulDB Meta Base Score: 9.8
VulDB Meta Temp Score: 9.3

VulDB Base Score: 9.8
VulDB Temp Score: 8.8
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

NVD Base Score: 9.8
NVD Vector: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VektorKomplexitätAuthentisierungVertraulichkeitIntegritätVerfügbarkeit
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten

VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Zuverlässigkeit: 🔍

NVD Base Score: 🔍

Exploitinginfo

Name: Shellshock
Klasse: Erweiterte Rechte / Shellshock
CWE: CWE-78 / CWE-74 / CWE-707
ATT&CK: T1202

Lokal: Nein
Remote: Ja

Verfügbarkeit: 🔍
Zugang: öffentlich
Status: Hoch funktional
Autor: Huzaifa Sidhpurwala
Zuverlässigkeit: 🔍
Programmiersprache: 🔍
Download: 🔍

EPSS Score: 🔍
EPSS Percentile: 🔍

Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Nessus ID: 77970
Nessus Name: Qmail Remote Command Execution via Shellshock
Nessus Datei: 🔍
Nessus Risiko: 🔍
Nessus Family: 🔍

OpenVAS ID: 871250
OpenVAS Name: RedHat Update for bash RHSA-2014:1306-01
OpenVAS Datei: 🔍
OpenVAS Family: 🔍

Saint ID: exploit_info/bash_shellshock_cups
Saint Name: Bash Environment Variable Handling Shell Command Injection Via CUPS

Qualys ID: 🔍
Qualys Name: 🔍

MetaSploit ID: apache_mod_cgi_bash_env.rb
MetaSploit Name: Apache ActiveMQ Directory Traversal
MetaSploit Datei: 🔍

Exploit-DB: 🔍

Threat Intelligenceinfo

Interesse: 🔍
Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍

Gegenmassnahmeninfo

Empfehlung: Patch
Status: 🔍

0-Day Time: 🔍
Exploit Delay Time: 🔍

Patch: bugzilla.novell.com
Alternative: Shell

Snort ID: 31975
Snort Message: Volex – Possible CVE-2014-6271 bash Vulnerability Requested (header)
Snort Klasse: 🔍
Snort Pattern: 🔍

Suricata ID: 2014092401
Suricata Klasse: 🔍
Suricata Message: 🔍

TippingPoint: 🔍

McAfee IPS: 🔍
McAfee IPS Version: 🔍

ISS Proventia IPS: 🔍
Fortigate IPS: 🔍

Timelineinfo

09.09.2014 🔍
17.09.2014 +8 Tage 🔍
24.09.2014 +7 Tage 🔍
24.09.2014 +0 Tage 🔍
24.09.2014 +0 Tage 🔍
24.09.2014 +0 Tage 🔍
24.09.2014 +0 Tage 🔍
24.09.2014 +0 Tage 🔍
24.09.2014 +0 Tage 🔍
25.09.2014 +1 Tage 🔍
25.09.2014 +0 Tage 🔍
29.09.2014 +4 Tage 🔍
16.03.2016 +534 Tage 🔍
21.02.2022 +2167 Tage 🔍

Quelleninfo

Hersteller: gnu.org

Advisory: remote code execution through bash
Person: Stephane Chazelas
Status: Bestätigt
Bestätigung: 🔍

CVE: CVE-2014-6271 (🔍)
OVAL: 🔍
IAVM: 🔍

X-Force: 96209 - GNU Bash variables command execution, High Risk
SecurityTracker: 1030890 - GNU bash Environment Variable Processing Flaw Lets Users Execute Arbitrary Code
Vulnerability Center: 57351 - GNU Bash through 4.3 Remote Code Execution via a Crafted Environment - CVE-2014-6271, Critical
SecurityFocus: 70137 - GNU Bash CVE-2014-7169 Incomplete Fix Remote Code Execution Vulnerability
Secunia: 61541 - GNU Bash Shell Function Definitions OS Commands Injection Vulnerability
OSVDB: 112004 - GNU bash Environment Variable Handling Shell Command Injection

Heise: 2403305
scip Labs: https://www.scip.ch/?labs.20161013
Diverses: 🔍
Siehe auch: 🔍

Eintraginfo

Erstellt: 24.09.2014 23:14
Aktualisierung: 21.02.2022 00:12
Anpassungen: 24.09.2014 23:14 (84), 10.10.2018 12:48 (56), 20.02.2022 23:50 (2), 21.02.2022 00:01 (17), 21.02.2022 00:12 (1)
Komplett: 🔍

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

Bitte loggen Sie sich ein, um kommentieren zu können.

Do you need the next level of professionalism?

Upgrade your account now!