Cyberattaques alimentées par l'IA : Comment détecter, prévenir et se défendre contre les menaces intelligentes

Lire la suite
Nous utilisons l'intelligence artificielle pour les traductions de sites et, bien que nous nous efforcions d'être précis, il se peut que les traductions ne soient pas toujours exactes à 100 %. Nous vous remercions de votre compréhension.

Comment reconnaître et remédier à cette vulnérabilité courante de Foxit PDF Reader ?

par OPSWAT
Partager cet article

Nous sommes heureux de vous présenter une série de blogs d'analyse technique portant sur diverses vulnérabilités et expositions communes (CVE), identifiées et corrigées à l'aide de nos technologies avancées de détection des menaces.Toutes les recherches sont effectuées par les étudiants diplômés qui participent au programme Cybersecurity Fellowship ( OPSWAT ) lancé en septembre 2023. 

Dans ce blog, nous expliquerons la vulnérabilité Foxit PDF Reader CVE- 2020-14425 et comment les organisations peuvent se protéger contre son exploitation.

Portraits de Thai To de l'Université des sciences de Ho Chi Minh et de Tai Tran de l'Université des technologies de l'information, représentés lors d'un événement professionnel
Des étudiants ont participé au programme de bourses OPSWAT .

Foxit PDF Reader

Foxit PDF Reader est un outil PDF développé par Foxit Software, offrant une gamme de fonctionnalités pour créer, visualiser, éditer et signer numériquement des documents PDF. La version gratuite de Foxit Reader a gagné en popularité et est utilisée par plus de 700 millions d'utilisateurs. 

Pour améliorer ses capacités et sa flexibilité, Foxit PDF Reader prend en charge les extensions JavaScript, offrant aux utilisateurs des options de personnalisation ; cependant, cela introduit également un risque de sécurité potentiel, faisant du logiciel une cible pour les attaquants.

Capture d'écran d'un document PDF ouvert dans une application de lecture, montrant un article sur la "conservation des couleurs" accompagné d'images de couvertures de livres colorées.

14425

Description

Une vulnérabilité dans Foxit PDF Reader avant la version 10.0 permet aux attaquants d'exécuter du code à distance sur l'appareil de la victime lorsqu'un fichier PDF spécialement conçu est ouvert. Cette vulnérabilité est due à la faiblesse de sécurité de la fonction JavaScript app.opencPDFWebPage. Si Foxit Reader est configuré pour utiliser le navigateur par défaut afin d'ouvrir les URL intégrées dans le fichier PDF, le code malveillant intégré dans le fichier exécutable peut s'exécuter sans déclencher de dialogue d'avertissement de sécurité.

Impact

Un fichier PDF conçu pour exploiter cette vulnérabilité peut être distribué par le biais d'une campagne d'hameçonnage par courrier électronique ou de liens malveillants intégrés. Si l'utilisateur ouvre le fichier PDF compromis en utilisant la version vulnérable de Foxit Reader, l'attaquant peut prendre le contrôle de l'appareil de la victime en exécutant du code à distance.

Capture d'écran montrant un tableau de gravité et de mesures CVSS (Common Vulnerability Scoring System) avec un score de base élevé de 7,8 pour une vulnérabilité, provenant de la base de données nationale sur les vulnérabilités (NVD) du NIST.

Analyse de CVE-2020-14425

Structure des fichiers PDF

Les fichiers PDF sont organisés selon une structure arborescente, composée d'une section d'en-tête, d'une section de corps, d'une table de références croisées et d'une section de fin.

  • L'en-tête commence par %PDF-1.x, indiquant la version du format PDF. À l'heure actuelle, la version du format va de 1.0 à 1.7. La section d'en-tête comprend également des métadonnées du document, telles que l'auteur, la date de création et d'autres informations pertinentes. 
  • Le corps comprend l'intégralité du contenu du fichier PDF, structuré en objets tels que des pages, des flux de texte, des polices, des formulaires, du code JavaScript et d'autres éléments. 
  • La table des références croisées (table Xref) contient la référence et le décalage d'octet de tous les objets du fichier PDF. Elle permet d'accéder rapidement aux objets sans avoir à lire l'ensemble du fichier. 
  • Le trailer stocke des informations supplémentaires essentielles à la localisation de la table xref, telles que le nombre total d'entrées dans la table xref et le pointeur vers son début.
Diagramme représentant un format de document structuré avec un en-tête, un corps et une fin, relié à un diagramme hiérarchique d'un nœud racine se ramifiant en nœuds intermédiaires

Comme le corps contient les objets sensibles des fichiers PDF, les attaques se concentrent souvent sur l'injection de code malveillant dans ce composant.

Menaces potentielles associées aux fichiers PDF

Les fichiers PDF sont devenus une cible pour les attaquants en raison de leur omniprésence. Comme les fichiers PDF peuvent contenir du code JavaScript, ils peuvent être utilisés pour exécuter diverses attaques lorsqu'ils sont ouverts par un navigateur, telles que le déni de service (DoS), la redirection ouverte ou les scripts intersites (XSS). 

En outre, les attaquants peuvent utiliser certaines techniques exploitables telles que l'utilisation après libération (UAF) et le débordement de mémoire tampon (BoF). Ils peuvent également exploiter la gestion des défaillances logicielles pour exécuter une attaque par exécution de code à distance (RCE) sur le système de la victime. En conséquence, un fichier PDF peut contenir un ransomware qui crypte les données de l'ordinateur et demande une rançon importante pour les récupérer, ou les attaquants peuvent prendre le contrôle total de l'ordinateur de la victime.

Comment fonctionne CVE-2020-14425

Dans Foxit Reader, lorsqu'une URL de page web est incorporée, les utilisateurs ont deux options d'affichage : afficher la page web dans Foxit Reader ou utiliser le navigateur par défaut de l'appareil de l'utilisateur. Dans la configuration par défaut, Foxit Reader accède en interne à la page web incorporée. Dans le contenu du PDF, pour demander l'ouverture d'une page web, Foxit Reader utilise la fonction OpencPDFWebPage, un JavaScript API conçu pour initier l'ouverture d'une page web URL incorporée dans le PDF.

Capture d'écran montrant l'interface de Foxit PhantomPDF, avec des barres d'outils pour les informations sur les licences et les mises à jour, et une console JavaScript ouverte exécutant une commande.

Cependant, il existe une vulnérabilité de type "Improper Input Validation" dans ce site API, qui permet aux attaquants de saisir un chemin d'accès à un fichier local dans la fonction opencPDFWebPage. Par conséquent, la fonction peut ouvrir le fichier malveillant avec le chemin d'accès joint et exécuter ce fichier exécutable. Cette faille permet aux attaquants de lancer la charge utile stockée sur la machine de la victime et d'obtenir l'exécution du code à distance.

L'option d'ouverture de la page web dans Foxit Reader, une exigence pour IE 10 ou plus, déclenche un dialogue d'avertissement lors d'une tentative d'exploitation, alors que si l'option est réglée pour utiliser le navigateur par défaut, elle contourne l'avertissement de sécurité.

Capture d'écran d'une console JavaScript exécutant une commande pour ouvrir un chemin de fichier, déclenchant un avertissement de sécurité concernant l'exécution ou l'enregistrement de "calc.exe", une application de calculatrice Windows courante.

Exploitation des vulnérabilités

Scénario d'attaque
Organigramme détaillant une cyberattaque via un fichier ZIP contenant une charge utile malveillante, son acheminement et la compromission de la victime.

Avec la vulnérabilité identifiée, un vecteur d'attaque potentiel implique une attaque par hameçonnage utilisant le fichier PDF comme chargeur pour exécuter une charge utile cachée. Dans ce scénario, l'auteur de la menace envoie à la victime un fichier ZIP contenant un fichier PDF et un fichier exécutable caché, dans l'intention de la tromper et de lui faire ouvrir le document. La CVE de Foxit Reader permet alors au code JavaScript intégré d'exécuter le fichier exécutable caché, établissant ainsi une connexion shell inversée avec la machine de l'attaquant.

Pour injecter du code JavaScript dans le fichier PDF, l'attaquant peut modifier directement le fichier de contenu PDF ou utiliser des outils tels que Foxit Phantom PDF. Le code malveillant définit le chemin du fichier malveillant et exécute le code nuisible à l'aide de la fonction opencPDFWebPage.

Capture d'écran du code d'un fichier PDF affichant un code JavaScript malveillant qui construit dynamiquement un chemin d'accès pour lancer un exécutable nommé "payload.exe".
Capture d'écran d'un éditeur JavaScript PDF montrant le code permettant de construire dynamiquement un chemin et d'exécuter une charge utile, ouvert dans l'interface d'un logiciel de visualisation PDF.

Après avoir préparé les fichiers PDF malveillants, le pirate cache le fichier exécutable et compresse le dossier dans un fichier ZIP. Pour échapper aux protections de sécurité des programmes antivirus, le pirate peut crypter le fichier ZIP avec un mot de passe avant de l'envoyer à la victime.

Capture d'écran d'une interface d'ordinateur montrant une fenêtre de courrier électronique et les propriétés d'un fichier PDF crypté, y compris des détails tels que la taille, le type et la date de création.

Si la victime extrait et ouvre le fichier PDF malveillant avec la version vulnérable de Foxit Reader, le code malveillant intégré dans le fichier exécutable sera exécuté, ce qui permettra à l'attaquant de compromettre l'appareil de la victime par le biais d'un shell inversé.

Capture d'écran d'une feuille de calcul Excel contenant des données salariales et d'un terminal Kali Linux affichant des informations sur le système.

Remédiation

MetaDefender Endpoint et MetaDefender Core travaillent ensemble pour prévenir ces attaques.

La technologie Multiscanning de Metadefender Core détecte les fichiers malveillants compressés avec des mots de passe, ce qui permet aux administrateurs d'identifier avec précision ces menaces. Avec l'intégration de plus de 30 moteurs antivirus combinés, le taux de détection des logiciels malveillants atteint plus de 99,99 %. En outre, grâce à la technologie intégrée Deep CDR (Content Disarm and Reconstruction), Metadefender Core peut supprimer efficacement le code JavaScript potentiellement malveillant et régénérer des fichiers assainis et sûrs d'utilisation.

Capture d'écran de l'interface de sécurité OPSWAT montrant les résultats de l'analyse d'un document PDF intitulé "Salary Reference.pdf", mettant en évidence qu'aucune menace n'a été détectée, qu'un élément a été assaini et qu'aucune vulnérabilité n'a été trouvée.
Fichier original avant utilisation Deep CDR
Fichier désinfecté après avoir été scanné avec Deep CDR
Capture d'écran de l'interface d'OPSWAT MetaDefender Endpoint montrant les détails de la vulnérabilité de Foxit Reader avec plusieurs CVE listés ainsi que leurs scores CVSS correspondants et les dates.

En outre, MetaDefender Endpoint peut reconnaître les versions vulnérables des applications et les mettre automatiquement à jour avec les derniers correctifs, renforçant ainsi la sécurité des points d'accès contre les menaces potentielles à l'avenir.

Restez à jour avec OPSWAT!

Inscrivez-vous dès aujourd'hui pour recevoir les dernières mises à jour de l'entreprise, de l'entreprise, des histoires, des informations sur les événements, et plus encore.