Une vulnérabilité a été détectée dans la suite bureautique Apache OpenOffice (CVE-2021-33035), permettant l'exécution de code lors de l'ouverture d'un fichier DBF spécialement conçu. Le chercheur ayant révélé le problÚme a averti qu'un exploit fonctionnel avait été créé pour la plateforme Windows. Pour l'instant, le correctif de la vulnérabilité n'est disponible que sous forme de patch dans le dépÎt du projet, qui a été inclus dans les versions de test d'OpenOffice 4.1.11. Aucun mise à jour pour la branche stable n'a encore été publiée.
Le problĂšme est causĂ© par le fait qu'OpenOffice s'est basĂ© sur les valeurs fieldLength et fieldType dans l'en-tĂȘte des fichiers DBF lors de l'allocation de mĂ©moire, sans vĂ©rifier la conformitĂ© du type de donnĂ©es rĂ©el dans les champs. Pour rĂ©aliser l'attaque, il est possible de spĂ©cifier le type INTEGER dans fieldType, tout en plaçant des donnĂ©es de taille supĂ©rieure et en indiquant une valeur fieldLength qui ne correspond pas Ă la taille des donnĂ©es de type INTEGER, ce qui entraĂźnant l'Ă©criture de la queue de donnĂ©es du champ 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, en utilisant des techniques de programmation orientĂ©e retour (ROP â Return-Oriented Programming), exĂ©cuter son propre code.
En utilisant la technique ROP, l'attaquant ne tente pas de placer son code en mĂ©moire, mais s'appuie sur des morceaux d'instructions machine dĂ©jĂ prĂ©sents dans les bibliothĂšques chargĂ©es, se terminant par une instruction de retour de contrĂŽle (gĂ©nĂ©ralement, il s'agit de la fin des fonctions de bibliothĂšque). Le fonctionnement de l'exploit consiste Ă crĂ©er une chaĂźne d'appels de ces blocs (« gadgets ») pour obtenir la fonctionnalitĂ© souhaitĂ©e. Dans l'exploit pour OpenOffice, le code provenant de la bibliothĂšque libxml2 utilisĂ©e par OpenOffice a Ă©tĂ© employĂ©, 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Ă© a Ă©tĂ© prĂ©vue pour le 30 aoĂ»t. Comme la mise Ă jour de la branche stable n'a pas Ă©tĂ© rĂ©alisĂ©e Ă la date prĂ©vue, le chercheur a dĂ©placĂ© la divulgation des dĂ©tails au 18 septembre, mais les dĂ©veloppeurs d'OpenOffice n'ont pas rĂ©ussi Ă prĂ©parer la version 4.1.11 Ă ce moment-lĂ . Notons 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 rĂ©vĂ©lĂ©s plus tard. Aucun problĂšme n'a Ă©tĂ© trouvĂ© dans LibreOffice.
Source : opennet.ru
