﻿﻿{"id":2375,"date":"2026-02-24T15:54:28","date_gmt":"2026-02-24T14:54:28","guid":{"rendered":"https:\/\/elearningsamba.com\/index.php\/un-dev-prend-le-controle-de-milliers-daspirateurs-dji-romo\/"},"modified":"2026-02-24T15:54:28","modified_gmt":"2026-02-24T14:54:28","slug":"un-dev-prend-le-controle-de-milliers-daspirateurs-dji-romo","status":"publish","type":"page","link":"https:\/\/elearningsamba.com\/index.php\/un-dev-prend-le-controle-de-milliers-daspirateurs-dji-romo\/","title":{"rendered":"Un dev prend le contr\u00f4le de milliers d&#8217;aspirateurs DJI Romo"},"content":{"rendered":"<p>Un d\u00e9veloppeur espagnol vient de prendre le contr\u00f4le de plus de 10 000 appareils DJI (dont<br \/>\n<a href=\"https:\/\/amzn.to\/4ccHUH0\">7 000 robots aspirateurs Romo<\/a><br \/>\n&#8211; <em>lien affili\u00e9<\/em>) r\u00e9partis dans 24 pays&#8230; en voulant juste piloter le sien avec une manette PS5.<\/p>\n<p>Oui oui c&#8217;est un grand malade ^^.<\/p>\n<p>\u00c0 la base, Sammy Azdoufal, responsable IA chez Emerald Stay, voulait juste s&#8217;amuser avec son aspi alors il a d&#8217;abord essay\u00e9 d&#8217;y connecter sa manette DualSense en Bluetooth, et puis il a fini par utiliser Claude Code pour d\u00e9compiler l&#8217;appli mobile DJI (version Android) et reverse-engineerer les protocoles MQTT de DJI. Bien s\u00fbr, il lui fallait un token d&#8217;auth pour prouver qu&#8217;il \u00e9tait bien proprio du Romo et jusque-l\u00e0, rien de m\u00e9chant&#8230;<\/p>\n<p>Sauf que le broker MQTT de DJI n&#8217;avait AUCUN contr\u00f4le d&#8217;acc\u00e8s au niveau des topics (c&#8217;est la cha\u00eene de caract\u00e8res qui sert d&#8217;adresse pour router les messages entre les publishers et les subscribers). Du coup, avec un seul token TLS, il voyait le trafic de tous les appareils en clair sur le broker cloud de DJI. Pas de brute force, pas d&#8217;exploit sophistiqu\u00e9 mais juste un pauvre token et un client MQTT.<\/p>\n<p>Et hop, le voil\u00e0 avec les flux vid\u00e9o des cam\u00e9ras embarqu\u00e9es, les micros, les plans 2D des maisons, les adresses IP et les num\u00e9ros de s\u00e9rie de milliers de machines. Un journaliste de<br \/>\n<a href=\"https:\/\/www.theverge.com\/tech\/879088\/dji-romo-hack-vulnerability-remote-control-camera-access-mqtt\">The Verge<\/a><br \/>\nlui a m\u00eame fil\u00e9 son num\u00e9ro de s\u00e9rie, et depuis Barcelone, Azdoufal a pris le contr\u00f4le de son Romo, a pu voir qu&#8217;il \u00e9tait \u00e0 80% de batterie et en train de nettoyer le salon, pour finir par g\u00e9n\u00e9rer le plan de l&#8217;appart. Flippant hein ??<\/p>\n<p>En gros, DJI avait un probl\u00e8me de validation de permissions c\u00f4t\u00e9 backend. Ils l&#8217;ont patch\u00e9 d\u00e9but f\u00e9vrier sauf que&#8230; Azdoufal a trouv\u00e9 une DEUXI\u00c8ME faille (un bypass du PIN cam\u00e9ra) qui serait toujours pas corrig\u00e9e. Cerise sur le g\u00e2teau, les batteries DJI Power \u00e9taient aussi accessibles via cette archi MQTT. Ce sont de grosses batteries portables qu&#8217;on garde chez soit pour avoir un peu de jus en cas de coupure de courant ou quand on est off the grid..<\/p>\n<p>Attention par contre, si vous avez un Romo, v\u00e9rifiez bien que le firmware est \u00e0 jour. Vous vous en doutez, DJI a d&#8217;abord ni\u00e9 le probl\u00e8me avant de finalement patcher mais bon, moi aussi j&#8217;ai une cam\u00e9ra sur mon aspi robot et comme j&#8217;adore me balader en slip chez moi, je plains le hacker qui passera par l\u00e0&#8230; Et je vous raconte pas quand on aura des robots humano\u00efdes comme ce qu&#8217;on a vu avec la<br \/>\n<a href=\"https:\/\/korben.info\/robot-unitree-faille-bluetooth-ble-hack-securite.html\">faille des robots Unitree<\/a><br \/>\n, tiens&#8230;<\/p>\n<p>\n<a href=\"https:\/\/www.techspot.com\/news\/111443-developer-accidentally-gained-control-more-than-10000-dji.html\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un d\u00e9veloppeur espagnol vient de prendre le contr\u00f4le de plus de 10 000 appareils DJI (dont 7 000 robots aspirateurs Romo &#8211; lien affili\u00e9) r\u00e9partis dans 24 pays&#8230; en voulant juste piloter le sien avec une manette PS5. Oui oui c&#8217;est un grand malade ^^. \u00c0 la base, Sammy Azdoufal, responsable IA chez Emerald Stay, voulait juste s&#8217;amuser avec son aspi alors il a d&#8217;abord essay\u00e9 d&#8217;y connecter sa manette DualSense en Bluetooth, et puis il a fini par utiliser Claude Code pour d\u00e9compiler l&#8217;appli mobile DJI (version Android) et reverse-engineerer les protocoles MQTT de DJI. Bien s\u00fbr, il lui fallait un token d&#8217;auth pour prouver qu&#8217;il \u00e9tait bien proprio du Romo et jusque-l\u00e0, rien de m\u00e9chant&#8230; Sauf que le broker MQTT de DJI n&#8217;avait AUCUN contr\u00f4le d&#8217;acc\u00e8s au niveau des topics (c&#8217;est la cha\u00eene de caract\u00e8res qui sert d&#8217;adresse pour router les messages entre les publishers et les subscribers). Du coup, avec un seul token TLS, il voyait le trafic de tous les appareils en clair sur le broker cloud de DJI. Pas de brute force, pas d&#8217;exploit sophistiqu\u00e9 mais juste un pauvre token et un client MQTT. Et hop, le voil\u00e0 avec les flux vid\u00e9o des cam\u00e9ras embarqu\u00e9es, les micros, les plans 2D des maisons, les adresses IP et les num\u00e9ros de s\u00e9rie de milliers de machines. Un journaliste de The Verge lui a m\u00eame fil\u00e9 son num\u00e9ro de s\u00e9rie, et depuis Barcelone, Azdoufal a pris le contr\u00f4le de son Romo, a pu voir qu&#8217;il \u00e9tait \u00e0 80% de batterie et en train de nettoyer le salon, pour finir par g\u00e9n\u00e9rer le plan de l&#8217;appart. Flippant hein ?? En gros, DJI avait un probl\u00e8me de validation de permissions c\u00f4t\u00e9 backend. Ils l&#8217;ont patch\u00e9 d\u00e9but f\u00e9vrier sauf que&#8230; Azdoufal a trouv\u00e9 une DEUXI\u00c8ME faille (un bypass du PIN cam\u00e9ra) qui serait toujours pas corrig\u00e9e. Cerise sur le g\u00e2teau, les batteries DJI Power \u00e9taient aussi accessibles via cette archi MQTT. Ce sont de grosses batteries portables qu&#8217;on garde chez soit pour avoir un peu de jus en cas de coupure de courant ou quand on est off the grid.. Attention par contre, si vous avez un Romo, v\u00e9rifiez bien que le firmware est \u00e0 jour. Vous vous en doutez, DJI a d&#8217;abord ni\u00e9 le probl\u00e8me avant de finalement patcher mais bon, moi aussi j&#8217;ai une cam\u00e9ra sur mon aspi robot et comme j&#8217;adore me balader en slip chez moi, je plains le hacker qui passera par l\u00e0&#8230; Et je vous raconte pas quand on aura des robots humano\u00efdes comme ce qu&#8217;on a vu avec la faille des robots Unitree , tiens&#8230; Source<\/p>\n","protected":false},"author":1,"featured_media":2376,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"give_campaign_id":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_kadence_starter_templates_imported_post":false,"footnotes":""},"class_list":["post-2375","page","type-page","status-publish","has-post-thumbnail","hentry"],"campaignId":"","_links":{"self":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2375","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/comments?post=2375"}],"version-history":[{"count":0,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2375\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media\/2376"}],"wp:attachment":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media?parent=2375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}