Threat Intelligence

Cl0p exploite CVE-2026-12569 dans PTC Windchill et FlexPLM pour voler des données d'ingénierie

Admin CyberAfrik 25 July 2026 30 lectures
Cl0p exploite CVE-2026-12569 dans PTC Windchill et FlexPLM pour voler des données d'ingénierie

Rapport CTI technique du 25 juillet 2026

Résumé exécutif

Le groupe d'extorsion Cl0p, héritier de la lignée TA505/FIN11, mène depuis début juin 2026 une campagne de vol de données massif contre les instances PTC Windchill PDMLink et FlexPLM exposées sur internet. Le vecteur initial est CVE-2026-12569, une désérialisation Java non authentifiée notée CVSS 9.8, chaînée à une fuite d'information pré-authentification sur l'endpoint WSDL de FlexPLM. La combinaison permet une exécution de code à distance complète sans identifiants, suivie du dépôt de webshells JSP identifiables par un motif de nommage hexadécimal, puis d'une phase d'énumération et d'exfiltration ciblant des données de conception produit, des dossiers d'ingénierie et des plans CAO, particulièrement sensibles dans les secteurs manufacturier, automobile et aérospatial.

PTC a publié un correctif le 17 juin 2026, mais tout indique une exploitation zero-day antérieure de plusieurs semaines. CISA a ajouté la faille à son catalogue KEV dès le 25 juin, avec obligation de remédiation sous trois jours pour les agences fédérales américaines, et le BSI allemand a déclenché des alertes d'urgence auprès de ses administrés. Un mois plus tard, le 20 juillet, Cl0p a ouvert une vague d'extorsion active ciblant les victimes non patchées, largement relayée le 24 et 25 juillet par la presse spécialisée. À la date de rédaction, aucune victime n'est encore nommée publiquement sur le site de fuite du groupe, mais l'attribution à Cl0p reste non confirmée formellement malgré un mode opératoire cohérent avec ses campagnes précédentes.

Chronologie

DateÉvénement
Début juin 2026Exploitation zero-day présumée par des affiliés Cl0p, selon les estimations de Ransom-ISAC et BleepingComputer
17/06/2026Disclosure publique de CVE-2026-12569 par PTC, premiers correctifs disponibles (13.0.2, 11.2.1, 11.1 M020)
18-19/06/2026Premiers indicateurs de compromission publiés par PTC ; patchs complémentaires 11.0 M030 et 13.1.1
25/06/2026PTC signale une activité de menace accrue ; ajout au CISA KEV le même jour, remédiation fédérale exigée sous trois jours
26/06/2026Le BSI allemand alerte en urgence ses administrés
29/06 au 14/07/2026Mises à jour successives des indicateurs par PTC (1er, 8, 9, 14 juillet), correctifs additionnels SUP 13.1.2 et 13.1.3 disponibles le 14 juillet
20/07/2026Ouverture de la vague d'extorsion Cl0p contre les victimes non patchées
22/07/2026Publication d'une advisory unifiée par Ransom-ISAC, eCrime.ch et DEFUSED
24-25/07/2026Couverture massive de la campagne par la presse spécialisée, publication du rapport ReliaQuest

Fiche vulnérabilité

CVE-2026-12569 | CVSS 3.1 : 9.8 (CVSS 4.0 : 9.3 selon SentinelOne, même niveau de gravité sur un barème différent) | PTC Windchill PDMLink et PTC FlexPLM, servlet de login (/Windchill/codebase/login/)

Vecteur AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. RCE par désérialisation de données non fiables, exploitable sans authentification ni interaction utilisateur, liée au traitement d'objets sérialisés Java côté servlet de login, avec une classe de contournement du filtre de sérialisation identifiée par PTC comme com.ptc.wpcfg.logic.ExpressionClassMethod. Concerne toutes les versions Windchill et FlexPLM antérieures à 11.0 M030 ainsi que les builds CPSXB listés dans l'advisory PTC. Corrigée par les SUP 13.1.3 et 13.1.2, et par les patchs autonomes CPSXB 13.1.1, 13.0.2, 12.1.2, 12.0.2, 11.2.1, 11.1 M020 et 11.0 M030 (référence eSupport PTC : CS473270). PoC public : aucune source consultée ne confirme la circulation d'un exploit public complet ; l'exploitation documentée provient exclusivement de la campagne Cl0p en conditions réelles.

Faille secondaire WSDL FlexPLM (CVSS 7.5, sans CVE propre publié à ce jour)

Divulgation d'information pré-authentification sur l'endpoint /Windchill/rfa/jsp/login/*.jsp?wsdl, qui fuite des métadonnées de configuration et d'endpoints du service FlexPLM. Aucun identifiant CVE distinct ne lui a été attribué par PTC ou NVD au moment de la rédaction : elle est documentée uniquement comme composante chaînée de la campagne. Ce point reste une zone d'incertitude que nous signalons explicitement plutôt que d'inventer un identifiant.

Diagramme de la chaîne d'attaque

Chronologie et chaîne d'exploitation de la campagne Cl0p contre PTC Windchill/FlexPLM

Chronologie verticale de la campagne, de l'exploitation zero-day présumée jusqu'à la vague d'extorsion active. Sources : PTC Trust Center, Ransom-ISAC, ReliaQuest.

Analyse technique

Étape 1 : reconnaissance pré-authentification via l'endpoint WSDL

L'attaquant émet une requête GET /Windchill/rfa/jsp/login/*.jsp?wsdl sans authentification. Sur une instance vulnérable, la réponse a une taille caractéristique d'environ 4045 octets et fuite des métadonnées de configuration du service FlexPLM, suffisantes pour cartographier les endpoints exploitables sans avoir besoin d'identifiants valides.

Étape 2 : désérialisation et exécution de code à distance

Les informations récoltées à l'étape précédente alimentent l'exploitation du servlet de login Windchill. Une charge sérialisée Java malveillante est soumise à ce servlet ; le filtre de sérialisation censé bloquer les classes dangereuses est contourné via com.ptc.wpcfg.logic.ExpressionClassMethod, ce qui aboutit à une exécution de code arbitraire côté serveur, sans authentification ni interaction de la victime.

Étape 3 : dépôt de webshells et canal de commande

Une fois l'exécution de code obtenue, l'attaquant dépose des webshells JSP sous /Windchill/login/ (chemin fichier .../Windchill/codebase/login/), avec un motif de nommage hexadécimal à 16 caractères (par exemple 7c0a0a34c9d8d53b.jsp, 46b158b8607a4c00.jsp, 64652883d9de3299.jsp, 56c9be44a436c4a2.jsp, 4b57d0652345d383.jsp, ec6ba805a076e709.jsp), avec une variante à 6 caractères observée plus tardivement. La communication avec ces webshells transite par un en-tête HTTP personnalisé, X-windchill-req: ?x8Fmgow, dont le premier caractère sert de sélecteur de commande. Cet en-tête n'a aucun usage légitime connu dans Windchill, ce qui en fait un signal de détection à haute confiance.

Étape 4 : énumération et staging des données

L'opérateur procède à une énumération du système de fichiers, matérialisée par le dépôt d'un fichier flst.txt dans le répertoire de travail ou /tmp, listant les fichiers accessibles en vue de leur exfiltration. Cette étape cible en priorité les répertoires contenant des données de conception produit, des dossiers CAO et des documents d'ingénierie propres aux environnements PLM.

Étape 5 : exfiltration et double extorsion

Les données identifiées sont mises en archive puis exfiltrées via des réponses POST volumineuses transitant par les webshells JSP déployés. Le mode opératoire observé est cohérent avec le schéma habituel de Cl0p : vol de données suivi d'une menace de publication sur le site de fuite du groupe en cas de non-paiement, sans chiffrement systématique des systèmes de la victime.

Attribution

ReliaQuest reste prudent : « l'acteur derrière ces attaques reste non confirmé », tout en notant que le mode opératoire observé partage des caractéristiques avec les campagnes Cl0p précédentes. Ransom-ISAC associe la campagne à Cl0p, alias Graceful Spider, Chubby Scorpius, FIN11 ou Lace Tempest selon les nomenclatures éditeurs, sur la base des emails d'extorsion et du mode opératoire observé, mais sans confirmation technique ferme par empreinte malware ou infrastructure. Le niveau de confiance de cette attribution doit être considéré comme modéré.

Indicateurs de compromission

TypeValeur
Webshell JSP/Windchill/login/7c0a0a34c9d8d53b.jsp
Webshell JSP/Windchill/login/46b158b8607a4c00.jsp
Webshell JSP/Windchill/login/64652883d9de3299.jsp
Webshell JSP/Windchill/login/56c9be44a436c4a2.jsp
Webshell JSP/Windchill/login/4b57d0652345d383.jsp
Webshell JSP/Windchill/login/ec6ba805a076e709.jsp
Motif de chasse/Windchill/login/[0-9a-f]{16}.jsp (POST)
Hash SHA-25655a1eb4c2d3da04376df39d7ba832569c6af1a37a0cf2b95f754ac898023a30c
En-tête HTTP de C2X-windchill-req: ?x8Fmgow
Fichier d'énumérationflst.txt
IP attaquant5.180.41.35
IP attaquant38.60.157.212
IP attaquant209.222.98.44
IP attaquant216.152.148.54
IP attaquant216.152.151.204
IP attaquant185.227.83.236
IP attaquant104.194.9.14
IP attaquant78.128.113.10
IP attaquant172.111.38.31
IP attaquant74.50.76.146
Plage IP attaquant104.243.35.0/24

MITRE ATT&CK

Aucune cartographie officielle éditeur n'a été publiée pour cette campagne à la date de rédaction. Le tableau ci-dessous est notre propre lecture technique à partir des advisories PTC et des rapports Ransom-ISAC et ReliaQuest, pas une attribution vendeur.

TactiqueTechniqueIDJustification
ReconnaissanceActive Scanning: Vulnerability ScanningT1595.002Requêtes pré-auth sur l'endpoint WSDL pour cartographier les cibles vulnérables
Initial AccessExploit Public-Facing ApplicationT1190Exploitation directe du servlet de login Windchill exposé sur internet
ExecutionDeserialization of Untrusted Data (sous-technique liée)T1055 (par extension)RCE obtenue via désérialisation Java côté serveur
PersistenceServer Software Component: Web ShellT1505.003Dépôt de webshells JSP au nommage hexadécimal caractéristique
Command and ControlApplication Layer Protocol: Web ProtocolsT1071.001Canal de commande via requêtes HTTP et en-tête personnalisé X-windchill-req
DiscoveryFile and Directory DiscoveryT1083Énumération du système de fichiers matérialisée par flst.txt
ExfiltrationExfiltration Over C2 ChannelT1041Exfiltration des données via les mêmes webshells JSP utilisés pour le C2
ImpactData Encrypted for Impact / Financial Theft (double extorsion)T1657Menace de publication des données volées sur le site de fuite en l'absence de paiement

Remédiation : checklist opérationnelle

  1. Appliquer immédiatement les correctifs PTC correspondant à votre version (SUP 13.1.3/13.1.2 ou patchs CPSXB 13.1.1, 13.0.2, 12.1.2, 12.0.2, 11.2.1, 11.1 M020, 11.0 M030), voir article eSupport CS473270.
  2. Restreindre l'exposition internet du servlet de login Windchill et de l'endpoint WSDL FlexPLM tant que le correctif n'est pas déployé, via un reverse-proxy ou une liste blanche d'IP.
  3. Déployer une règle WAF ou IDS bloquant les magic bytes de sérialisation Java sur les endpoints exposés.
  4. Rechercher la présence de fichiers JSP correspondant au motif /Windchill/login/[0-9a-f]{16}.jsp sur l'ensemble du parc.
  5. Comparer les fichiers suspects au hash SHA-256 connu et bloquer en périmètre les adresses IP listées en section IOC.
  6. Ajouter une règle de détection sur l'en-tête HTTP X-windchill-req, absent de tout usage légitime documenté.
  7. Rechercher la présence du fichier flst.txt dans les répertoires de travail Windchill, signe d'une phase d'énumération déjà exécutée.
  8. En cas de compromission confirmée, effectuer une rotation complète des identifiants, tokens et clés de service exposés sur les serveurs affectés, et traiter toute donnée de conception hébergée comme potentiellement exfiltrée.

Sources

Tags : Cl0pCVE-2026-12569PTC WindchillFlexPLMransomwarevol de donnéesRCEwebshell JSP
Partager cet article