De nouvelles vulnérabilités concernant la signature de fichiers PDF impactent un grand nombre de lecteurs disponibles

Date de publication :

Von Vladislav Mladenov, un chercheur en sécurité, en coopération avec le centre d'alerte et de réaction aux attaques informatiques BSI_CERT, a énuméré 3 nouvelles vulnérabilités et leur exploitation dans certains logiciels de lecture PDF. Elles portent plus particulièrement sur la signature électronique des documents, visant à garantir l’intégrité du document signé ainsi que l’identité du signataire. Ces nouvelles attaques permettent notamment de tromper les utilisateurs en indiquant que la signature est valide alors qu’elle ne l’est pas, d'ajouter du contenu sans que la signature légitime en soit modifiée. L'atteinte sur l'intégrité et la disponibilité des données est élevée.

Dans cette étude, 22 logiciels sont concernés par les attaques listées ci-dessous.

Les attaques ont été décrites dans l’ordre d’exploitabilité. Ainsi :

  • L’attaque par le bourrage de signature n’a pas été détectée par 17 lecteurs sur 22 ;
  • L’attaque par sauvegarde incrémentale n’a pas été détectée par la moitié des lecteurs ;
  • La contrefaçon de signature universelle n’a pas été détectée par 4 lecteurs sur 22.

Détails techniques :

Les documents PDF sont des fichiers écrits en caractère ASCII possédant 4 parties :

  • PDF header : définit la version d’interprétation à utiliser ;
  • PDF body : possède le contenu du PDF sous la forme d’objets ordonnés sous la forme d’un arbre ;
  • La table Xref : contient la position de chacun des objets ;
  • Trailer : contient données meta qui permettent de vérifier l'intégrité du fichier.

Signer un document PDF revient ainsi à concaténer au document original les parties PDF header et PDF body signées auxquelles on ajoute la table Xref et le Trailer associés.

3 nouvelles attaques sur les documents PDF ont ainsi été répertoriées :

  • CVE-2018-16042 [CVSS v3 7.5] : La contrefaçon de signatures universelles

    • Cette attaque a pour de manipuler ByteRange de la signature (la longueur de la signature en octet) de telle sorte que l'application ciblée ouvre le fichier PDF, trouve la signature, mais demeure incapable de trouver toutes les données nécessaires à sa validation. .
    • L’absence de ses informations n’est pas toujours considérée comme une erreur et permet la validation de la signature. Des lecteurs réputés sont sensibles à cette attaque.
  • CVE-2018-18688 [CVSS v3 8.8] : Attaque par sauvegarde incrémentale
    • Une fonctionnalité légitime du standard PDF est de pouvoir sauvegarder un fichier PDF en ajoutant des modifications comme, par exemple, de nouvelles pages ou des annotations.
    • Un attaquant peut redéfinir la structure d’un fichier PDF en concaténant au document signé la partie Body Updates. Cette partie ne faisant pas partie de la signature, elle reste donc valide et le contenu peut être modifié.
  • CVE-2018-18689 [CVSS v3 8.8 : Attaque par bourrage de signature
    • Cette attaque est la plus technique à mettre en œuvre, elle déplace le contenu signé dans une position différente et insère du nouveau contenu à la place. Elle a lieu en 6 étapes :

      1. L’attaquant supprime le rembourrage du contenu pour augmenter l’espace (facultatif) ;
      2. Modification du ByteRange(a,b,c’,d) en manipulant la valeur de c pour qu’elle pointe vers le nouvel emplacement de la partie signée ;
      3. L’attaquant crée ensuite une table Xref référençant les objets possédant les mêmes décalages que l’ancienne table ;
      4. Injection du code malveillant non protégé par la signature ;
      5. Certains visionneurs de PDF ont besoin d’un Trailer après la table Xref manipulée (facultatif) ;
      6. L’attaquant déplace le contenu signé c et d à l’endroit de c’ ;

Informations

La faille est activement exploitée :

Un correctif existe :

Une mesure de contournement existe :

Risques

Risques

  • Exécution de code à distance.

Criticité

  • Score CVSS : 8.80

Existence d’un code d’exploitation de la vulnérabilité

  • Aucun code d’exploitation n’est disponible bien que les méthodes listées soient publiques.

Composants & versions vulnérables

  • La liste des logiciels concernés par ces attaques est disponible sur ce lien :

CVE

  • N/A

Solutions ou recommandations

Mise en place de correctif de sécurité

  • Les correctifs de sécurité sont propres à chaque éditeurs de logiciels.

Solution de contournement

  • Aucune solution de contournement n’est proposée.