Mis à jour : l’AIFE, qui avait suspendu à titre provisoire ses échanges avec FACTUALI, la plateforme agréée liée à VosFactures (Clubic, 1er octobre 2026), les a rétablis après examen des éléments techniques transmis, selon le message publié sur Chorus Pro et relayé par Next, 5 octobre 2026.
Fin septembre 2026, l’éditeur polonais Fakturownia, qui fait tourner le logiciel de facturation VosFactures, a subi une intrusion suivie d’une extraction massive de sa base de données. Cette analyse s’adresse aux auditeurs, RSSI et responsables sécurité : données touchées, mode opératoire, correspondance avec MITRE ATT&CK, chronologie de réponse, questions d’audit ISO 27001 et pistes de sensibilisation. Aucun rapport technique n’est publié à ce stade : le vecteur exact reste flou (l’éditeur parle d’une faille du générateur PDF, l’attaquant d’une injection SQL suivie d’un vol de clé). Nous présentons les deux versions et signalons ce qui n’est pas vérifié.
Pour une lecture orientée dirigeant, voir notre décryptage « VosFactures : quand la fuite vient du sous-traitant de votre logiciel de facturation ».
Contexte
- Victime directe : Fakturownia sp. z o.o. (Pologne), éditeur SaaS de facturation, de gestion de stock et de comptabilité.
- Victimes indirectes : les clients de toutes ses déclinaisons nationales, dont VosFactures en France (exploité par FACTUALI SAS, qui revendique plus de 500 000 professionnels utilisateurs selon cyberattaque.org), ainsi que les clients et fournisseurs de ces entreprises.
- Secteur : logiciel de gestion et de facturation (services aux entreprises).
- Période : accès non autorisé du 27 septembre vers 3 h 20 au 28 septembre vers 17 h 45 (Fakturownia) ; FACTUALI informée le 29 septembre.
- Type : intrusion applicative, vol de secrets, exécution de code, exfiltration massive de base de données. Pas de chiffrement ni de demande de rançon publique à ce stade.
- Auteur : un individu ou groupe se faisant appeler « Fingerprint ». Selon Zaufana Trzecia Strona, il est déjà derrière deux intrusions dans des services médicaux polonais. Le lien avec l’incident Medyc est fait par la presse polonaise ; nous ne l’avons pas vérifié en source primaire.
Données touchées (selon le communiqué officiel)
Fakturownia publie un tableau très précis, catégorie par catégorie, avec des dates limites (Fakturownia) :
- En totalité : données des entreprises et des utilisateurs, IBAN/SWIFT, mots de passe hachés, jetons API et clés d’intégration, identifiants de session, montants des factures (HT, TVA, TTC, reste à payer).
- En partie : contreparties ajoutées avant le 16 octobre 2024, contenu complet des factures émises avant le 22 mars 2021, lignes de factures antérieures au 6 juin 2019.
- Environ 2 250 comptes : toutes les données 2022-2026 ont été extraites.
- Non touchés : certificats KSeF (facturation électronique polonaise), identifiants bancaires, cartes de paiement.
Détail intéressant : l’extraction a commencé par les enregistrements les plus anciens et a été interrompue avant d’atteindre les plus récents. La réponse à incident a donc limité les dégâts.
L’attaquant affirme avoir pris 6 To de factures. Information non confirmée : Zaufana Trzecia Strona n’a pas pu la vérifier.
Mode opératoire : ce qui est documenté et ce qui ne l’est pas
| Étape | Ce qui est publié | Correspondance MITRE ATT&CK (notre lecture) |
|---|---|---|
| Accès initial | Version de l’éditeur : faille dans le mécanisme de génération de PDF à partir des modèles de factures. Version de l’attaquant : un « oracle temporel », probablement une injection SQL à l’aveugle basée sur le temps de réponse (interprétation de Zaufana Trzecia Strona). | T1190 Exploit Public-Facing Application |
| Vol de secrets | Lecture de fichiers de configuration contenant des clés applicatives et des identifiants techniques (éditeur). L’attaquant dit avoir extrait la « clé maîtresse » Ruby de l’application. | T1552.001 Credentials In Files |
| Exécution de code | Commandes exécutées sur plusieurs serveurs applicatifs (éditeur). Selon l’attaquant : fabrication d’un cookie signé avec la clé volée pour obtenir l’exécution de code. | T1606.001 Web Cookies ; T1059 Command and Scripting Interpreter |
| Collecte | Accès en lecture à une réplique de la base de production ; copie d’une grande partie de la base, des plus anciens enregistrements vers les plus récents. | T1005 / T1119 (collecte, probablement automatisée) |
| Exfiltration | Données copiées vers les serveurs de l’attaquant. Il affirme être passé par des serveurs intermédiaires « uniquement pour tunneliser le trafic ». | T1090 Proxy ; T1048 possible (canal non précisé) |
| Après coup | L’attaquant contacte un média le 29 septembre au matin avec des captures d’écran (arborescence applicative, liste de clients, liste de fichiers de copie de base). Il dit ne pas avoir effacé les journaux « pour que l’entreprise apprenne ». | Hors ATT&CK (revendication publique) |
La colonne MITRE est une lecture de notre part, à partir des éléments publiés.
Faits techniques : la « clé maîtresse »
Dans les applications Ruby on Rails, une clé secrète sert à signer et chiffrer les cookies de session. Celui qui la possède peut fabriquer des cookies que le serveur jugera authentiques. Selon la façon dont l’application lit ces cookies, cela peut aller jusqu’à l’exécution de code. C’est un scénario connu, mais nous n’avons pas de confirmation qu’il s’est bien passé ainsi ici : c’est la version de l’attaquant.
Ce qu’on ne sait pas
Le vecteur initial (deux versions divergentes), le mode de détection, le volume de données françaises touchées. Les propos de l’attaquant (6 To, motivations, journaux non effacés) ne sont pas vérifiés.
Détection et réponse : une chronologie publique
Comment l’intrusion a été repérée n’est pas publié. Fakturownia dit avoir « constaté » l’incident le 28 septembre, sans préciser si l’alerte est venue de sa supervision, d’un tiers ou de l’attaquant.
La chronologie de réponse, elle, est publique et détaillée (Fakturownia) :
- 28 septembre, 13 h 35 : premier blocage de l’adresse IP de l’attaquant ;
- 28 septembre, 18 h 01 : suppression de son accès à l’application ;
- 28 septembre, 18 h 56 – 20 h 14 : rotation des clés applicatives et des mots de passe de service ;
- 28 septembre, 20 h 44 – 21 h 51 : bascule vers de nouveaux serveurs reconstruits de zéro, arrêt des anciens ;
- 28 septembre, 23 h 50 – 29 septembre, 4 h 03 : remplacement des jetons API des clients (les anciens ne fonctionnent plus que depuis les adresses IP habituelles) ;
- 29 septembre, 2 h 35 : renforcement du générateur de PDF ;
- 29 septembre : notifications à l’autorité polonaise de protection des données (UODO), au CERT Polska et à la police (CBZC) ;
- 1er octobre : envoi des notifications individuelles.
Ce que nous en retenons :
- Bloquer une adresse IP ne suffit pas à expulser un attaquant. Entre le premier blocage (13 h 35) et la coupure effective (18 h 01), il s’écoule environ 4 h 30. Le rapport de l’ANSSI sur la DGFiP fait un constat proche (mot de passe réinitialisé, session toujours active).
- La bonne réaction face à un vol de secrets, c’est de tout reconstruire. Fakturownia a fait tourner les clés et remonté des serveurs neufs le soir même. Garder les anciens serveurs aurait laissé une éventuelle porte dérobée en place.
- Environ 38 heures d’accès et une extraction massive sur une réplique de base. Une alerte sur un volume de lecture anormal sur la base (ou sur la réplique) aurait pu raccourcir ce délai. C’est une hypothèse de notre part : on ne sait pas quelle supervision existait.
- Des données de 2019 étaient encore en base. La durée de conservation interroge, même si une partie peut relever d’obligations légales de conservation des factures (à vérifier selon le pays).
Questions d’audit ISO 27001:2022
- A.5.19, A.5.20 et A.5.21 (sécurité dans les relations fournisseurs et dans la chaîne d’approvisionnement TIC) : « Pour vos outils SaaS critiques (facturation, paie, CRM), pouvez-vous me montrer la liste des sous-traitants ultérieurs qui hébergent ou traitent vos données ? Le contrat prévoit-il un délai de notification d’incident, et un droit d’être informé avant tout changement de sous-traitant ? »
- A.8.24 et A.5.17 (utilisation de la cryptographie, informations d’authentification) : « Où sont stockés les secrets de vos applications (clés de signature, mots de passe de base de données, clés d’API) ? Sont-ils dans des fichiers de configuration lisibles par le processus applicatif, ou dans un coffre dédié avec accès tracé ? Quelle est la procédure de rotation, et quand a-t-elle été testée pour la dernière fois ? »
- A.8.26, A.8.28 et A.8.29 (exigences de sécurité des applications, codage sécurisé, tests de sécurité) : « Les fonctions qui traitent des contenus fournis par les utilisateurs (génération de PDF à partir de modèles, import de fichiers) ont-elles fait l’objet d’un test d’intrusion ciblé ? Le moteur de rendu tourne-t-il dans un environnement isolé, sans accès aux fichiers de configuration du serveur ? »
- A.5.26 et A.8.16 (réponse aux incidents de sécurité, activités de surveillance) : « Votre procédure de réponse à incident prévoit-elle, en cas de vol de secrets, la reconstruction des serveurs et pas seulement le blocage de l’adresse IP ? Existe-t-il une alerte sur les lectures massives de la base de production et de ses répliques ? »
Piste complémentaire (A.5.34 et A.8.10, protection de la vie privée et des DCP, suppression des informations) : la durée de conservation des factures et des données de contreparties dans l’outil est-elle définie et appliquée ? Les données au-delà des obligations légales sont-elles supprimées ou archivées hors ligne ?
Pistes de sensibilisation
- Atelier « Le faux RIB parfait » (comptabilité, achats, direction) : construire en séance un faux e-mail de changement d’IBAN à partir des seules données volées ici (nom du fournisseur, montant exact, numéro de facture impayée). Montrer qu’il est indétectable « à l’œil ». Puis ancrer la seule parade fiable : le rappel téléphonique à un numéro déjà connu, jamais celui du message.
- Module développeurs et DevOps « Une faille web + un secret = toute la base » : dérouler les deux scénarios (générateur PDF qui lit un fichier local, injection SQL qui extrait une clé) et faire identifier à chaque étape quel contrôle aurait cassé la chaîne : isolement du moteur de rendu, secrets hors du système de fichiers, droits minimaux du compte de base de données, alerte sur le volume.
À lire aussi : notre décryptage pour les dirigeants, « VosFactures : quand la fuite vient du sous-traitant de votre logiciel de facturation », et le bulletin de veille du 2 octobre 2026.
Analyse préparée avec l’aide d’une intelligence artificielle à partir de sources publiques, sous la responsabilité de KyNeo. Malgré nos contrôles, des erreurs peuvent subsister : en cas de doute, référez-vous aux sources citées. Les informations non confirmées sont signalées comme telles.