Source: watchTowr Labs publie une analyse technique de CVE-2025-10035 affectant Fortra GoAnywhere MFT, basée sur l’avis FI-2025-012 (18 septembre) et un diff de correctif, avec un regard critique sur la sévérité CVSS 10 et des indices d’exploitation.

• Contexte et produit concerné: Fortra GoAnywhere MFT, une solution d’EFT/MFT largement déployée (plus de 20 000 instances exposées). L’historique rappelle CVE-2023-0669 exploité par le groupe cl0p. L’avis FI-2025-012 décrit une désérialisation dans le License Response Servlet menant potentiellement à une exécution de commande et précise des éléments d’« Am I Impacted? » avec traces à rechercher.

• Chaîne d’attaque proposée: watchTowr montre un contournement d’authentification pour atteindre le License Servlet. En provoquant une erreur sur l’endpoint d’activation non licenciée, l’AdminErrorHandlerServlet génère un token de requête de licence lié à la session et redirige vers le serveur de licence. Les clés codées en dur permettent de décrypter le paramètre « bundle » et de récupérer un GUID utilisable pour appeler ensuite le LicenseResponseServlet (/goanywhere/lic/accept/) et atteindre le sink de désérialisation.

• Vérification de signature et correctif: le flux de désérialisation passe par java.security.SignedObject avec une vérification cryptographique (clé publique embarquée). watchTowr indique ne pas avoir trouvé de contournement de cette vérification. Le correctif ne modifie pas la vérification de signature mais durcit la désérialisation (remplacement par une routine sécurisée) et empêche la génération du token via l’erreur d’activation, ce qui casse la chaîne. Versions mentionnées par watchTowr comme sécurisées: 7.8.4 (ou Sustain 7.6.3).

• Indices d’exploitation et détection: sans affirmer une exploitation active, l’avis Fortra propose de vérifier les journaux Admin et fournit des IoCs (stack trace), ce que watchTowr juge intriguant. watchTowr publie un artefact de détection: une requête d’activation non licenciée déclenche, sur instance vulnérable, une redirection contenant un paramètre bundle (sur instance corrigée, ce bundle n’est plus émis).

• Nature de l’article: il s’agit d’une publication de recherche/analyse technique détaillant la surface d’attaque, le flux applicatif, les points faibles (auth bypass + désérialisation), les éléments de correctif et des artefacts de détection, tout en soulevant des questions ouvertes sur la vérification de signature.

IoCs (extraits de l’article):

  • Traces de logs contenant: “SignedObject.getObject” dans des exceptions lors du parsing de licence.
  • Erreurs “Error parsing license response” dans l’Admin Audit / AdminErrorHandlerServlet.

TTPs (extraits de l’article):

  • Contournement d’authentification via endpoint d’activation non licenciée et gestion d’erreur.
  • Désérialisation non sécurisée d’un objet contrôlé attaquant dans le License Servlet.
  • Clés de chiffrement codées en dur permettant le déchiffrement hors ligne du paramètre “bundle” pour extraire un GUID.
  • Tentative d’exécution de code via gadget de désérialisation (ex. CommonsBeanutils1), entravée par SignedObject.verify.

Éléments produits/versions:

  • Produit: Fortra GoAnywhere MFT
  • Correctifs: 7.8.4 et Sustain 7.6.3

🧠 TTPs et IOCs détectés

TTP

Contournement d’authentification via endpoint d’activation non licenciée et gestion d’erreur; Désérialisation non sécurisée d’un objet contrôlé attaquant dans le License Servlet; Clés de chiffrement codées en dur permettant le déchiffrement hors ligne du paramètre ‘bundle’ pour extraire un GUID; Tentative d’exécution de code via gadget de désérialisation, entravée par SignedObject.verify.

IOC

Traces de logs contenant: ‘SignedObject.getObject’ dans des exceptions lors du parsing de licence; Erreurs ‘Error parsing license response’ dans l’Admin Audit / AdminErrorHandlerServlet.


🔗 Source originale : https://labs.watchtowr.com/is-this-bad-this-feels-bad-goanywhere-cve-2025-10035/