L'éditeur de solutions de résilience des données Veeam a publié un correctif pour son produit Backup & Replication touché par une faille critique (score CVSS de 9,9) référencée CVE-2025-23120. Le patch résout un problème de désérialisation qui peut entraîner l'exécution de code à distance en tant qu'utilisateur système sur le serveur Windows sous-jacent. La sérialisation est le processus de transformation des données en un flux d'octets pour la transmission à une autre application, et la désérialisation est l'inverse de ce processus. La désérialisation de données provenant de sources non fiables est à l'origine de nombreuses vulnérabilités liées à l'exécution de code à distance dans divers langages de programmation. 

Ce défaut peut être exploité par n'importe quel compte authentifié faisant partie du groupe d'utilisateurs locaux sur l'hôte Windows. Cependant, les serveurs Veeam connectés à un domaine Active Directory sont beaucoup plus à risque, car dans les configurations par défaut, le groupe d'utilisateurs du domaine est ajouté celui en local sur les ordinateurs connectés au domaine. Cela signifie que si des attaquants parviennent à exécuter un code malveillant sur n'importe quel ordinateur Windows du réseau - ce qui est fréquent - ils peuvent facilement utiliser le compte actif de ce PC pour exploiter ce trou de sécurité sur le serveur Backup & Replication s'il est relié au même domaine AD. Bien que ce problème ait reçu un seul identifiant (CVE-2025-23120), les chercheurs de la société de sécurité watchTowr soutiennent qu'il s'agit en fait de deux vulnérabilités, car il y a deux voies distinctes pour exploiter le problème. Le fournisseur conseille aux clients de mettre à jour vers Backup & Replication 12.3.1 ou d'installer le hotfix pour la version 12.3 si une mise à jour ne peut pas être effectuée immédiatement. Ce dernier ne fonctionne que sur les déploiements qui n'ont pas eu d'autres patchs d'urgence appliqués précédemment.

Des listes noires de classe rarement complètes

Les problèmes de désérialisation découverts par watchTowr proviennent d'un correctif incomplet pour une faille plus ancienne patchée en 2024 en tant que CVE-2024-40711 qui a ensuite été signalée comme exploitée dans l'une des infections zero day des opérateurs de ransomware Akira et Fog. En fait, le produit Backup & Replication est ciblé à de multiples reprises depuis 2023 par des cybergangs. 

Les développeurs d'applications ont pris l'habitude d'atténuer les risques liés à la désérialisation en créant des listes noires de classes qui pourraient être dangereuses lorsqu'elles sont désérialisées, et comme l'explique watchTowr, c'est également l'approche adoptée par Veeam lors de la résolution de la CVE-2024-40711. Cependant, l'histoire a montré que ces recensements sont rarement complets. « Les listes noires (également appelées listes de blocage ou listes de refus) sont basées sur l'idée très optimiste (et manifestement erronée) que nous pouvons simplement dresser une liste de toutes les mauvaises classes, que nous pouvons garder un enregistrement et la mettre à jour au fur et à mesure", souligne l'éditeur de sécurité. Un monde idéal, mais " c'est un mensonge. Bien que nous soyons d'accord sur le fait qu'il est aujourd'hui extrêmement difficile de trouver de nouveaux processus de désérialisation dans les langages de programmation et les frameworks (même si cela reste possible), les produits ont leur propre base de code et peuvent contenir des classes abusives qui peuvent servir à mauvais escient pendant la désérialisation. Et ce, avant même d'aborder les bibliothèques tierces. »

Des gadgets exploitables sources de risques

Les développeurs de Veeam Backup & Replication maintiennent une liste de gadgets [un gadget est une classe qui peut être utilisée comme un outil pour tirer parti du mécanisme de désérialisation, ndlr] qui sont bloqués pour être désérialisés via .NET BinaryFormatter. Cette liste est située dans le code à Veeam.Backup.Common.Sources.System.IO.BinaryFormatter.blacklist.txt. Ainsi, lorsque la CVE-2024-40711 a été découverte, leur solution a été d'ajouter le gadget System.Runtime.Remoting.ObjRef à ce document. Problème résolu, jusqu'à ce que le chercheur de watchTowr Sina Kheirkhah trouve d'autres classes exploitables, System.CodeDom.Compiler.TempFileCollection et System.IO.DirectoryInfo, résultant en la vulnérabilité CVE-2024-42455. Ces classes ont également été ajoutées à la liste d'exclusion.

Piotr Bazydlo, chercheur chez watchTowr, a trouvé d'autres gadgets exploitables : Veeam.Backup.EsxManager.xmlFrameworkDs et Veeam.Backup.Core.BackupSummary, qui étendent tous deux la classe DataSet, un gadget RCE très populaire pour la désérialisation. Il s'agit de la nouvelle faille CVE-2025-23120 patchée mercredi. En fait, l'exploitation de la CVE-2025-23120 ne nécessite que de simples modifications de l'exploit de preuve de concept publié précédemment pour la CVE-2024-42455. « Nous espérons avoir apporté une preuve supplémentaires que la protection des puits de désérialisation par une liste noire devrait être interdite », écrivent les chercheurs. « Peu importe à quel point votre liste est parfaite, perfectionnée et à la pointe de la technologie, quelqu'un finira par trouver un moyen de l'utiliser à mauvais escient. »