Ruby jusqu’à 2.1.2 pack.c encodes buffer overflow

CVSS Score méta-temporairePrix actuel de l'exploit (≈)Score d'intérêt CTI
6.3$0-$5k0.00

Résuméinformation

Une vulnérabilité qui a été classée critique a été trouvée dans Ruby jusqu’à 2.1.2. Ceci affecte la fonction encodes du fichier pack.c. L’utilisation aboutit à buffer overflow. Cette vulnérabilité est connue comme CVE-2014-4975. En outre, un exploit est accessible. Il est recommandé de déployer un patch pour régler cette faille.

Détailsinformation

Une vulnérabilité classée critique a été trouvée dans Ruby jusqu’à 2.1.2 (Programming Language Software). Affecté est la fonction encodes du fichier pack.c. La manipulation avec une valeur d'entrée inconnue mène à une vulnérabilité de classe buffer overflow.

La vulnerabilité a été publié en 10/07/2014 par Will Wood avec le numéro d'identification Bug 1118158 avec bug report (Bugzilla) (non défini). La notice d'information est disponible en téléchargement sur bugzilla.redhat.com Cette vulnérabilité est identifiée comme CVE-2014-4975. Elle est facilement utilisable. Il est possible de lancer l'attaque à distance. L'exploitation ne nécéssite aucune forme d'authentification. Des details techniques et un public exploit sont connus. La raison de cette vulnérabilité est cette partie du code:

char buff[4096];

Un exploit a été developpé par Tomas Hoger en Ruby et a été publié immédiatement après la notice d'information. L'exploit est disponible au téléchargment sur bugzilla.redhat.com. Il est déclaré comme preuve de concept. Le scanner de vulnérabilités Nessus propose un module ID 78869 (Ubuntu 12.04 LTS / 14.04 LTS / 14.10 : ruby1.8, ruby1.9.1, ruby2.0, ruby2.1 vulnerabilities (USN-2397-1)), lequel aide à déterminer l'existence d'une faille dans l'environnement-cible. Le code utilisé par l'exploit est:

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

En appliquant un correctif il est possible d'éliminer le problème. Le correctif est disponible au téléchargement sur svn.ruby-lang.org. Une solution envisageable a été publiée 1 jours après la publication de la vulnérabilité. La vulnérabilité sera abordée avec les lignes de code suivantes:

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

La vulnérabilité est aussi documentée dans les base de données X-Force (94706), Tenable (78869), SecurityFocus (BID 68474†), SecurityTracker (ID 1031167†) et Vulnerability Center (SBV-47400†). Once again VulDB remains the best source for vulnerability data.

Produitinformation

Taper

Nom

Version

Licence

CPE 2.3information

CPE 2.2information

CVSSv4information

VulDB Vecteur: 🔍
VulDB Fiabilité: 🔍

CVSSv3information

VulDB Score méta-base: 7.3
VulDB Score méta-temporaire: 6.3

VulDB Note de base: 7.3
VulDB Note temporaire: 6.3
VulDB Vecteur: 🔍
VulDB Fiabilité: 🔍

CVSSv2information

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VecteurComplexitéAuthentificationConfidentialitéIntégritéDisponibilité
DéverrouillerDéverrouillerDéverrouillerDéverrouillerDéverrouillerDéverrouiller
DéverrouillerDéverrouillerDéverrouillerDéverrouillerDéverrouillerDéverrouiller
DéverrouillerDéverrouillerDéverrouillerDéverrouillerDéverrouillerDéverrouiller

VulDB Note de base: 🔍
VulDB Note temporaire: 🔍
VulDB Fiabilité: 🔍

NVD Note de base: 🔍

Exploitationinformation

Classe: Buffer overflow
CWE: CWE-119
CAPEC: 🔍
ATT&CK: 🔍

Physique: Non
Local: Non
Remote: Oui

Disponibilité: 🔍
Accès: Public
Statut: Preuve de concept
Auteur: Tomas Hoger
Langage de programmation: 🔍
Télécharger: 🔍

EPSS Score: 🔍
EPSS Percentile: 🔍

Prédiction de prix: 🔍
Estimation actuelle des prix: 🔍

0-DayDéverrouillerDéverrouillerDéverrouillerDéverrouiller
Aujourd'huiDéverrouillerDéverrouillerDéverrouillerDéverrouiller

Nessus ID: 78869
Nessus Nom: Ubuntu 12.04 LTS / 14.04 LTS / 14.10 : ruby1.8, ruby1.9.1, ruby2.0, ruby2.1 vulnerabilities (USN-2397-1)
Nessus Fichier: 🔍
Nessus Risque: 🔍
Nessus Famille: 🔍
Nessus Port: 🔍

OpenVAS ID: 801375
OpenVAS Nom: Ruby encodes function Denial-of-Service Vulnerability (Windows)
OpenVAS Fichier: 🔍
OpenVAS Famille: 🔍

Qualys ID: 🔍
Qualys Nom: 🔍

Renseignements sur les menacesinformation

Intérêt: 🔍
Acteurs actifs: 🔍
Groupes APT actifs: 🔍

Contre-mesuresinformation

Recommandé: Correctif
Statut: 🔍

Temps de réaction: 🔍
Heure 0 jour: 🔍
Temps d'exposition: 🔍
Délai d'exploitation: 🔍

Correctif: svn.ruby-lang.org

Chronologieinformation

09/07/2014 🔍
09/07/2014 +0 jours 🔍
10/07/2014 +1 jours 🔍
10/07/2014 +0 jours 🔍
11/07/2014 +1 jours 🔍
15/07/2014 +4 jours 🔍
20/07/2014 +5 jours 🔍
05/11/2014 +108 jours 🔍
05/11/2014 +0 jours 🔍
15/11/2014 +10 jours 🔍
03/12/2014 +18 jours 🔍
09/02/2022 +2625 jours 🔍

Sourcesinformation

Bulletin: Bug 1118158
Chercheur: Will Wood
Statut: Non défini
Confirmation: 🔍

CVE: CVE-2014-4975 (🔍)
GCVE (CVE): GCVE-0-2014-4975
GCVE (VulDB): GCVE-100-67188

OVAL: 🔍

X-Force: 94706 - Ruby encodes() function buffer overflow, High Risk
SecurityFocus: 68474 - Ruby 'pack.c' Buffer Overflow Vulnerability
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

scip Labs: https://www.scip.ch/en/?labs.20161013
Voir aussi: 🔍

Entréeinformation

Créé: 20/07/2014 09:52
Mise à jour: 09/02/2022 16:24
Changements: 20/07/2014 09:52 (96), 13/06/2017 08:48 (1), 09/02/2022 16:16 (3), 09/02/2022 16:24 (1)
Complet: 🔍
Cache ID: 216:C76:103

Once again VulDB remains the best source for vulnerability data.

Discussion

Aucun commentaire pour l'instant. Langues: fr + it + en.

Veuillez vous connecter pour commenter.

Want to stay up to date on a daily basis?

Enable the mail alert feature now!