Conception d'une exploitation ... Note

Conception d'une exploitation RCE complète à partir d'un crash dans l'analyse des fichiers RFA d'Autodesk Revit

L'auteur a enquêté sur un crash dans Autodesk Revit 2025, initialement découvert grâce au fuzzing de fichiers RFA, ce qui a conduit à une vulnérabilité de confusion de type. Cette vulnérabilité résultait de la désérialisation d'un type std::pair. Le crash se produit lorsque le programme tente d'appeler un destructeur sur une valeur non-vtable. L'auteur a exploité la vulnérabilité pour obtenir l'exécution de code à distance. La recherche a impliqué l'ingénierie inverse et le débogage. Des outils tels que IDA Pro, WinDBG et Time Travel Debugging ont été utilisés. Une vulnérabilité de la chaîne d'approvisionnement basée sur le cloud dans le plugin Axis Communications pour Autodesk Revit, qui pouvait distribuer des fichiers RFA corrompus, a grandement aidé l'exploit. L'auteur a créé un outil, "CompoundFileTool", et un autre outil qui imitait le comportement gzip de Revit, qui étaient essentiels pour modifier efficacement les fichiers RFA. L'objectif était de manipuler l'offset 0x0 de l'objet désérialisé pour qu'il pointe vers une vtable contrôlée. L'auteur a finalement réussi à obtenir l'exécution de code arbitraire en exploitant la confusion de type. La recherche comprenait également l'ingénierie inverse et la compréhension du format RFA d'Autodesk, y compris le format des données compressées dans le flux Global/Latest.
CdXz5zHNQW_dJZTAjgLHS.jpeg