Ce qui se passe
Polymarket chargeait un script de suivi de performance fourni par DebugBear. Le 29 octobre, le
fichier servi depuis cdn.debugbear[.]com a été remplacé par du code malveillant. DebugBear met
en cause ses enregistrements DNS, compromis par l'intermédiaire de son registrar. L'éditeur n'a
vu aucune trace d'intrusion dans ses systèmes, mais son enquête continue.
Chaque client de DebugBear charge sa propre copie du script, et celle qui a été remplacée était celle de Polymarket. Les premiers éléments de DebugBear indiquent une attaque contre ce seul client.
Le mécanisme
C'est l'intérêt technique de l'affaire. D'après Hudson Rock, qui a lu le fichier sans l'exécuter, le code ne transmet ni mot de passe, ni phrase de récupération, ni clé privée. Il n'en a pas besoin : il repère dans la page le composant de passage d'ordres et le signataire du compte, puis s'en sert depuis la session déjà ouverte.
- Compte lié à un portefeuille : les positions partent directement vers l'attaquant.
- Compte par e-mail : les positions sont vendues à des prix décroissants, puis l'argent sort.
Les requêtes signées passent ensuite par le relais de Polymarket, comme des opérations normales.
Hudson Rock précise une réserve importante : une demande de signature ne prouve pas que l'utilisateur n'a vu aucune invite. Le fournisseur du portefeuille a pu demander confirmation, refuser ou appliquer ses propres règles.
Les chiffres
- Le portefeuille de l'attaquant a reçu des fonds de 17 h 10 à 18 h 02 UTC : 28,6 millions de POL, environ 2,64 M$, et des positions venant de 33 portefeuilles.
- Polymarket rembourse environ 2,7 M$ à 726 portefeuilles, dont 689 déjà payés au 30 octobre.
- S'y ajoutent 1,19 M$ pour environ 5 500 portefeuilles ayant perdu de l'argent pendant l'arrêt des échanges ou vu leurs positions prises, soit 3,9 M$ au total.
Comment s'y prendre
Le sujet ne se limite pas à la crypto : toute page connectée qui charge un script de mesure donne à un tiers le pouvoir d'agir au nom de l'utilisateur.
Retirez les scripts tiers inutiles des pages où l'on signe, paie ou change un réglage sensible.
Épinglez les fichiers qui s'y prêtent avec Subresource Integrity :
HTML <script src="https://cdn.exemple.net/rum.js" integrity="sha384-..." crossorigin="anonymous"></script>Ne comptez pas sur une CSP qui autorise un CDN : elle ne contrôle pas le contenu des fichiers.
Listez ce qu'un code présent sur la page peut demander au signataire ou aux API de session.
Clients de DebugBear : l'éditeur demande de retirer son code d'intégration RUM. Polymarket annonce remettre ses scripts tiers avec une CSP renforcée, des versions épinglées et un bac à sable.
Source : The Hacker News, 1er novembre 2026. Source en anglais.