Vulnérabilité dans OpenOffice qui permet l'exécution de code lors de l'ouverture d'un fichier

Une vulnérabilité (CVE-2021-33035) a été identifiée dans la suite bureautique Apache OpenOffice qui permet l'exécution de code lors de l'ouverture d'un fichier spécialement conçu au format DBF. Le chercheur qui a découvert le problème a mis en garde contre la création d'un exploit fonctionnel pour la plate-forme Windows. Le correctif de vulnérabilité n'est actuellement disponible que sous la forme d'un correctif dans le référentiel du projet, qui a été inclus dans les versions de test d'OpenOffice 4.1.11. Il n’y a pas encore de mises à jour pour la branche stable.

Le problème est dû au fait qu'OpenOffice s'appuie sur les valeurs fieldLength et fieldType dans l'en-tête des fichiers DBF pour allouer de la mémoire, sans vérifier que le type de données réel dans les champs correspond. Pour mener une attaque, vous pouvez spécifier un type INTEGER dans la valeur fieldType, mais placer des données plus volumineuses et spécifier une valeur fieldLength qui ne correspond pas à la taille des données avec le type INTEGER, ce qui conduira à la queue des données. du champ en cours d'écriture au-delà du tampon alloué. Grâce à un débordement de tampon contrôlé, le chercheur a pu redéfinir le pointeur de retour de la fonction et, à l'aide de techniques de programmation orientée retour (ROP - Return-Oriented Programming), réaliser l'exécution de son code.

Lorsqu'il utilise la technique ROP, l'attaquant ne cherche pas à placer son code en mémoire, mais opère sur des morceaux d'instructions machine déjà disponibles dans les bibliothèques chargées, se terminant par une instruction de retour de contrôle (en règle générale, ce sont les fins des fonctions de la bibliothèque) . Le travail de l'exploit se résume à construire une chaîne d'appels vers des blocs similaires (« gadgets ») pour obtenir la fonctionnalité souhaitée. Les gadgets utilisés dans l'exploit OpenOffice étaient du code de la bibliothèque libxml2 utilisée dans OpenOffice, qui, contrairement à OpenOffice lui-même, a été compilé sans les mécanismes de protection DEP (Data Execution Prevention) et ASLR (Address Space Layout Randomization).

Les développeurs d'OpenOffice ont été informés du problème le 4 mai, après quoi une divulgation publique de la vulnérabilité était prévue pour le 30 août. La mise à jour de la branche stable n'étant pas terminée à la date prévue, le chercheur a reporté la divulgation des détails au 18 septembre, mais les développeurs d'OpenOffice n'ont pas réussi à créer la version 4.1.11 à cette date. Il est à noter qu'au cours de la même recherche, une vulnérabilité similaire a été identifiée dans le code de support du format DBF dans Microsoft Office Access (CVE-2021-38646), dont les détails seront divulgués ultérieurement. Aucun problème trouvé dans LibreOffice.

Source: opennet.ru

Ajouter un commentaire