Ruby bis 2.1.2 pack.c encodes Pufferüberlauf

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

Es wurde eine Schwachstelle in Ruby bis 2.1.2 (Programming Language Software) gefunden. Sie wurde als kritisch eingestuft. Dabei betrifft es die Funktion encodes der Datei pack.c. Dank der Manipulation mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. Im Rahmen von CWE wurde eine Klassifizierung als CWE-119 vorgenommen. Mit Auswirkungen muss man rechnen für Vertraulichkeit, Integrität und Verfügbarkeit.

Die Schwachstelle wurde am 10.07.2014 durch Will Wood als Bug 1118158 in Form eines nicht definierten Bug Reports (Bugzilla) publik gemacht. Das Advisory kann von bugzilla.redhat.com heruntergeladen werden. Die Verwundbarkeit wird seit dem 15.07.2014 unter CVE-2014-4975 geführt. Sie ist leicht ausnutzbar. Der Angriff kann über das Netzwerk erfolgen. Zur Ausnutzung ist keine spezifische Authentisierung erforderlich. Es sind sowohl technische Details als auch ein öffentlicher Exploit zur Schwachstelle bekannt. Die Schwachstelle entsteht durch diesen Code:

char buff[4096];

Ein öffentlicher Exploit wurde durch Tomas Hoger in Ruby realisiert und direkt nach dem Advisory veröffentlicht. Der Exploit wird unter bugzilla.redhat.com zur Verfügung gestellt. Er wird als proof-of-concept gehandelt. Für den Vulnerability Scanner Nessus wurde am 05.11.2014 ein Plugin mit der ID 78869 (Ubuntu 12.04 LTS / 14.04 LTS / 14.10 : ruby1.8, ruby1.9.1, ruby2.0, ruby2.1 vulnerabilities (USN-2397-1)) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann. Es wird der Family Ubuntu Local Security Checks zugeordnet. Der kommerzielle Vulnerability Scanner Qualys bietet das Plugin 122868 (Red Hat Update for ruby (RHSA-2014:1912)) zur Prüfung der Schwachstelle an. Der durch den Exploit genutzte Code gestaltet sich wie folgt:

["a"*3070].pack("m4000")
["a"*(3072*3-2)].pack("m3072")

Die Schwachstelle lässt sich durch das Einspielen eines Patches beheben. Dieser kann von svn.ruby-lang.org bezogen werden. Das Erscheinen einer Gegenmassnahme geschah 1 Tage nach der Veröffentlichung der Schwachstelle. Die Entwickler haben unverzüglich reagiert. Die Schwachstelle wird durch folgenden Code angegangen:

enum {buff_size = 4096, encoded_unit = 4};
char buff[buff_size + 1];	/* +1 for tail_lf */

Unter anderem wird der Fehler auch in den Datenbanken von X-Force (94706) und Tenable (78869) dokumentiert. Die Schwachstellen 68264 sind ähnlich.

Produktinfo

Typ

Name

Version

Lizenz

CPE 2.3info

CPE 2.2info

CVSSv4info

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

CVSSv3info

VulDB Meta Base Score: 7.3
VulDB Meta Temp Score: 6.3

VulDB Base Score: 7.3
VulDB Temp Score: 6.3
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

CVSSv2info

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

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

NVD Base Score: 🔍

Exploitinginfo

Klasse: Pufferüberlauf
CWE: CWE-119
CAPEC: 🔍
ATT&CK: 🔍

Lokal: Nein
Remote: Ja

Verfügbarkeit: 🔍
Zugang: öffentlich
Status: Proof-of-Concept
Autor: Tomas Hoger
Programmiersprache: 🔍
Download: 🔍

EPSS Score: 🔍
EPSS Percentile: 🔍

Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Nessus ID: 78869
Nessus Name: Ubuntu 12.04 LTS / 14.04 LTS / 14.10 : ruby1.8, ruby1.9.1, ruby2.0, ruby2.1 vulnerabilities (USN-2397-1)
Nessus Datei: 🔍
Nessus Risiko: 🔍
Nessus Family: 🔍
Nessus Port: 🔍

OpenVAS ID: 801375
OpenVAS Name: Ruby encodes function Denial-of-Service Vulnerability (Windows)
OpenVAS Datei: 🔍
OpenVAS Family: 🔍

Qualys ID: 🔍
Qualys Name: 🔍

Threat Intelligenceinfo

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

Gegenmassnahmeninfo

Empfehlung: Patch
Status: 🔍

Reaktionszeit: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Exploit Delay Time: 🔍

Patch: svn.ruby-lang.org

Timelineinfo

09.07.2014 🔍
09.07.2014 +0 Tage 🔍
10.07.2014 +1 Tage 🔍
10.07.2014 +0 Tage 🔍
11.07.2014 +1 Tage 🔍
15.07.2014 +4 Tage 🔍
20.07.2014 +5 Tage 🔍
05.11.2014 +108 Tage 🔍
05.11.2014 +0 Tage 🔍
15.11.2014 +10 Tage 🔍
03.12.2014 +18 Tage 🔍
09.02.2022 +2625 Tage 🔍

Quelleninfo

Advisory: Bug 1118158
Person: Will Wood
Status: Nicht definiert
Bestätigung: 🔍

CVE: CVE-2014-4975 (🔍)
OVAL: 🔍

X-Force: 94706 - Ruby encodes() function buffer overflow, High Risk
SecurityTracker: 1031167 - Ruby Stack Overflow in encodes() Function May Let Remote Users Execute Arbitrary Code
Vulnerability Center: 47400 - Ruby <=1.9.3, 2.0 - 2.1.2 pack.c Remote DoS Vulnerability due to Stack-Based Buffer Overflow, Medium
SecurityFocus: 68474 - Ruby 'pack.c' Buffer Overflow Vulnerability

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

Eintraginfo

Erstellt: 20.07.2014 09:52
Aktualisierung: 09.02.2022 16:24
Anpassungen: 20.07.2014 09:52 (96), 13.06.2017 08:48 (1), 09.02.2022 16:16 (3), 09.02.2022 16:24 (1)
Komplett: 🔍

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

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

Want to stay up to date on a daily basis?

Enable the mail alert feature now!