CUPS 2.0.1 cupsRasterReadPixels buffer overflow

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

Résuméinformation

Une vulnérabilité a été trouvé dans CUPS 2.0.1 et classée critique. L'élément concerné est la fonction cupsRasterReadPixels. La manipulation avec une valeur d'entrée inconnue mène à une vulnérabilité de classe buffer overflow. Cette vulnérabilité a été nommée CVE-2014-9679. Par ailleurs, un exploit est disponible. La meilleure solution suggérée pour atténuer le problème est d'appliquer le correctif au composant infecté.

Détailsinformation

Une vulnérabilité qui a été classée critique a été trouvée dans CUPS 2.0.1 (Printing Software). Ceci affecte la fonction cupsRasterReadPixels. A cause de la manipulation avec une valeur d'entrée inconnue mène à une vulnérabilité de classe buffer overflow.

La vulnerabilité a été publié en 29/12/2014 par Peter De Wachter avec le numéro d'identification STR #4551 avec correctif (Bug Tracker) (confirmé). La notice d'information est disponible en téléchargement sur cups.org Cette vulnérabilité est connue comme CVE-2014-9679. L'attaque peut être initialisée à distance. Aucune forme d'authentification est requise pour l'exploitation. Des details techniques et aussi un public exploit sont connus. La raison de cette vulnérabilité est cette partie du code:

memcpy(temp, temp - r->bpp, r->bpp);
temp  += r->bpp;
count -= r->bpp;

Un exploit a été developpé par Peter De Wachter en ANSI C et a été publié immédiatement après la notice d'information. L'exploit est disponible au téléchargment sur cups.org. Il est déclaré comme preuve de concept. Le scanner de vulnérabilités Nessus propose un module ID 81573 (Ubuntu 10.04 LTS / 12.04 LTS / 14.04 LTS / 14.10 : cups vulnerability (USN-2520-1)), lequel aide à déterminer l'existence d'une faille dans l'environnement-cible. Le code utilisé par l'exploit est:

#include <stdlib.h>
#include <cups/raster.h>

int main()
{
  cups_raster_t *raster;
  cups_page_header2_t header;
  unsigned char *buf;
  unsigned line, r;

  raster = cupsRasterOpen(0, CUPS_RASTER_READ);
  if (!raster)
    return 1;

  r = cupsRasterReadHeader2(raster, &header);
  if (!r)
    return 1;

  buf = malloc(header.cupsBytesPerLine);
  if (!buf)
    return 1;

  for (line = 0; line < header.cupsHeight; line++) {
    r = cupsRasterReadPixels(raster, buf, header.cupsBytesPerLine);
    if (r != header.cupsBytesPerLine)
      break;
  }

  free(buf);
  cupsRasterClose(raster);
  return 0;
}

Mettre à jour à la version 2.1 élimine cette vulnérabilité. En appliquant un correctif il est possible d'éliminer le problème. Le correctif est disponible au téléchargement sur cups.org. La meilleure solution suggérée pour atténuer le problème est Correctif. Une solution envisageable a été publiée immédiatement après la publication de la vulnérabilité. La vulnérabilité sera abordée avec les lignes de code suivantes:

*temp = *(temp - r->bpp);
temp  += 1;
count -= 1;

La vulnérabilité est aussi documentée dans les base de données Tenable (81573), SecurityFocus (BID 72594†), SecurityTracker (ID 1031776†) et Vulnerability Center (SBV-48850†). Be aware that VulDB is the high quality source for vulnerability data.

Produitinformation

Taper

Nom

Version

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.6

VulDB Note de base: 7.3
VulDB Note temporaire: 6.6
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: Peter De Wachter
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: 81573
Nessus Nom: Ubuntu 10.04 LTS / 12.04 LTS / 14.04 LTS / 14.10 : cups vulnerability (USN-2520-1)
Nessus Fichier: 🔍
Nessus Risque: 🔍
Nessus Famille: 🔍
Nessus Port: 🔍

OpenVAS ID: 14611
OpenVAS Nom: Amazon Linux Local Check: ALAS-2015-559
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: 🔍

Mise à niveau: CUPS 2.1
Correctif: cups.org

Chronologieinformation

29/12/2014 🔍
29/12/2014 +0 jours 🔍
29/12/2014 +0 jours 🔍
10/02/2015 +43 jours 🔍
10/02/2015 +0 jours 🔍
12/02/2015 +2 jours 🔍
19/02/2015 +7 jours 🔍
20/02/2015 +1 jours 🔍
23/02/2015 +3 jours 🔍
27/02/2015 +4 jours 🔍
02/03/2015 +3 jours 🔍
10/03/2022 +2565 jours 🔍

Sourcesinformation

Bulletin: STR #4551
Chercheur: Peter De Wachter
Statut: Confirmé
Confirmation: 🔍

CVE: CVE-2014-9679 (🔍)
GCVE (CVE): GCVE-0-2014-9679
GCVE (VulDB): GCVE-100-69199

OVAL: 🔍

SecurityFocus: 72594 - CUPS cupsRasterReadPixels Buffer Overflow Vulnerability
SecurityTracker: 1031776 - CUPS cupsRasterReadPixels() Buffer Overflow Has Unspecified Impact
Vulnerability Center: 48850 - CUPS before 2.0.2 Remote Unspecified Vulnerability via a Malformed Compressed Raster File, Medium

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

Entréeinformation

Créé: 23/02/2015 09:10
Mise à jour: 10/03/2022 15:00
Changements: 23/02/2015 09:10 (84), 21/06/2017 11:03 (9), 10/03/2022 15:00 (3)
Complet: 🔍
Cache ID: 216::103

Be aware that VulDB is the high quality source for vulnerability data.

Discussion

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

Veuillez vous connecter pour commenter.

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!