Telegram a interdit aux bots ordinaires d’envoyer ses nouveaux widgets HTML, quatre jours après leur lancement. Depuis environ 15 h 50 UTC le vendredi 13 novembre, chaque tentative d’un bot classique d’envoyer un widget Telegram échoue avec l’erreur INPUT_MEDIA_WIDGET_NOT_ALLOWED, selon le signalement d’un développeur sur le suivi public de la Bot API sur GitHub. Trois heures plus tard, le compte du mainteneur de la Bot API l’a confirmé : « les bots ordinaires ne sont pas autorisés à utiliser les widgets, même dans les conversations privées ».
Aucune raison n’a été donnée. La coupure est intervenue le jour même où Pavel Durov, fondateur de Telegram, répondait aux affirmations d’une société de sécurité et d’un chercheur indépendant selon lesquelles un widget pouvait exécuter du code sur un téléphone dès l’affichage du message, sans le moindre appui. Durov a écrit que le problème « n’existe pas » et, dans le même message, qu’blockchain that runs exactly as written when it is called, holding and moving funds according to its code, without an intermediary able to change the outcome.">smart contract holding reserves of two or more tokens, supplied by users, that a decentralized exchange uses to execute trades automatically at a price set by a formula.">pool diverge, compared with simply holding the same tokens in a wallet. It becomes permanent when the provider withdraws.">il était entièrement corrigé côté serveur.
Des médias crypto lisent la restriction comme une réponse à cette polémique. Ce lien est leur déduction : ni la réponse du mainteneur ni aucune déclaration de Telegram ne l’établit. Aucun vol de fonds ou de données n’a été démontré.
Les utilisateurs de crypto ont un intérêt dans la réponse, car ces widgets sont livrés avec des accès aux portefeuilles TON. Un widget peut demander la carte du portefeuille TON de l’utilisateur, des données signées par ce portefeuille, ou signaler une transaction envoyée depuis celui-ci.
Widgets Telegram : ce que la Bot API 10.4 a ajouté le 9 novembre
Les widgets sont arrivés avec la Bot API 10.4, datée du 9 novembre 2026 dans le journal des modifications de la Bot API de Telegram. Cette version a ajouté une classe Widget et les méthodes sendWidget, sendSharedWidget, answerWidgetQuery et editMessageWidgetData, ainsi qu’un objet WidgetQuery qui transmet au bot ce que l’utilisateur fait dans le widget. Durov l’a mise en avant le lendemain à 12 h 59 UTC sur sa chaîne : « Tout message Telegram peut désormais devenir une application ».
Le guide des widgets de Telegram décrit le format. Un widget est un document HTML unique, avec son CSS et son JavaScript écrits en ligne, limité à 32 Ko, soit 4 Ko une fois compressé. L’application Telegram l’exécute sur l’appareil, dans un bac à sable qui, selon Telegram, n’a aucun accès au réseau. Le widget ne peut pas modifier lui-même son état. Il peut envoyer au bot des requêtes de 64 octets au plus, et c’est le bot qui répond et le met à jour.
Deux limites existaient dès le premier jour. En production, les widgets ne pouvaient être envoyés que dans les conversations privées avec le bot, et leur contenu est protégé : un widget ne peut pas être transféré. Le guide précise que la fonction est déployée par étapes.
Les accès aux portefeuilles TON
Ce qui concerne les utilisateurs de crypto figure dans le même journal. Une requête de widget peut contenir, à côté des données destinées au bot, la carte du portefeuille TON de l’utilisateur, une donnée qu’il a signée avec un portefeuille TON, ou un avis indiquant qu’il a envoyé une transaction depuis un portefeuille TON. La Bot API 10.4 a ajouté les classes TonWalletTransfer et TonWalletCard, ainsi qu’un nouveau type d’entité de message, ton_address.
Le guide des widgets va un cran plus loin. Un widget peut appeler une fonction sendTransaction qui demande à l’utilisateur d’envoyer une transaction TON au format TON Connect, jusqu’à 255 messages à la fois. L’utilisateur la confirme ou la refuse dans une fenêtre du portefeuille, et le widget n’en apprend que le résultat.
Un widget peut donc servir de petit écran de paiement ou de connexion au sein d’une conversation. TON est déjà très présent dans Telegram : Durov a écrit le 11 novembre que plus de 1 million de portefeuilles Gram en auto-conservation avaient été activés dans l’application en 48 heures. Notre page sur Gram, ex-Toncoin (TON) présente le réseau lui-même.

La faille « sans clic » : ce qui a été montré
Le 11 novembre, la société V12, qui développe des agents d’IA chargés de chercher des vulnérabilités, a publié une vidéo où un message-widget affiche un compte à rebours, puis un téléphone Android ouvre son application Calculatrice, d’après une chronologie publiée sur DEV Community. La légende, telle que DEV Community la rapporte, disait « Any telegram message can now become RCE », un détournement de la formule de lancement de Durov, RCE signifiant exécution de code à distance. La vidéo ne montre aucune donnée dérobée. V12 n’a publié aucun détail technique.
Une seconde trace, distincte, est apparue sur GitHub le même jour. Un chercheur utilisant le pseudonyme davtur19 a publié une archive intitulée tg-widget-rce qui décrit l’affichage des widgets : le HTML est mis en page avec la bibliothèque litehtml et le JavaScript s’exécute dans QuickJS-ng lorsque la conversation est ouverte. L’archive affirme que le widget s’exécute dès la mise en page du message et qu’« aucun appui n’est nécessaire ».
Son entrée principale est un bogue d’analyseur que l’auteur note 9,6 et 8,8 sur l’échelle de gravité CVSS. Ces notes sont celles de l’auteur. L’archive énumère des versions plus anciennes de Telegram touchées, Android (72889, 72929, 73029 et 73039), iOS 13.2, Telegram Desktop 7.4.0 et macOS 13.1, avec des bogues secondaires, et rapporte ses propres essais sur un téléphone Android Sony et deux iPhone. Elle désigne le commit ca3594d, dans le fork de QuickJS de Telegram, comme le correctif ; GitHub date ce commit du 10 novembre à 13 h 16 UTC, la veille de la vidéo de V12.
L’archive se présente comme un registre « n-day », c’est-à-dire le compte rendu de failles déjà corrigées, et dit que tout y est réparé dans les versions actuelles. Elle ajoute que les failles non corrigées sont conservées dans une archive privée et qu’un rapport destiné à Telegram existe hors du dépôt. CryptoSlate, qui l’a lue, note que le code n’atteignait l’application elle-même que sur certaines anciennes versions d’Android et restait confiné dans un processus de widget isolé sur d’autres.
Personne à l’extérieur n’a confirmé ces bogues, et aucun numéro CVE n’existe. L’archive ne prouve pas non plus que la vidéo de la Calculatrice de V12 exploitait le même bogue. DEV Community, qui a rapproché le commit correctif de la démonstration, écrit que cette correspondance ne repose que sur des descriptions concordantes.
Durov : « Personne n’a pu être piraté simplement en recevant un message »
Telegram a d’abord répondu par une déclaration que DEV Community cite sans dire où elle a été publiée : le problème dans Telegram pour Android avait été corrigé un jour, et le correctif déployé le lendemain auprès de tous les utilisateurs. CryptoBriefing a rapporté que le correctif avait atteint tous les utilisateurs le 11 novembre et que Telegram n’avait constaté aucune exploitation ni vol de données confirmés.
Durov est allé plus loin à 16 h 02 UTC le 13 novembre, dans un message sur sa chaîne Telegram consacré à la « RCE présumée dans les nouveaux widgets TG Android/Windows », qui avait dépassé 913 000 vues le dimanche matin. « Personne n’a pu être piraté simplement en recevant un message », a-t-il écrit. Selon lui, il fallait d’abord démarrer activement un service tiers, sans qu’il précise ce que cela recouvre en pratique, et même ce scénario est entièrement corrigé côté serveur. Il a terminé par un défi à ceux qui pensent le contraire : pirater son propre compte.
Les deux moitiés du message tirent dans des directions différentes. Une faille qui n’existe pas n’a pas besoin de correctif. Lue d’un bloc, la position de Durov semble être que le danger était plus faible qu’annoncé, puisque l’utilisateur devait agir d’abord, et qu’il est de toute façon refermé. L’archive du chercheur dit le contraire sur le premier point, et CryptoSlate souligne que démarrer un service et toucher un widget déjà arrivé sont deux étapes distinctes. Aucun camp n’a publié de preuve qui tranche.

Les bots perdent les widgets quelques minutes avant le message de Durov
Le développeur qui a ouvert le ticket n° 947, l’utilisateur Ivantseng123, a écrit à 16 h 36 UTC le 13 novembre que le bot avait envoyé environ 120 widgets entre le 10 novembre et 10 h 00 UTC environ le 13 novembre. À partir de 15 h 50 UTC environ, chaque appel à sendWidget vers une conversation privée a échoué, quelque 12 minutes avant la publication de Durov. Le code d’erreur ne figure pas dans la documentation de Telegram, qui ne mentionne que les erreurs liées aux widgets trop volumineux ou non valides.
À 18 h 55 UTC, le compte levlam, qui assure la maintenance de la Bot API, a répondu que les bots ordinaires n’ont actuellement pas le droit d’utiliser les widgets, même en conversation privée. La réponse ne donne ni motif ni date de retour. Un commentateur postérieur, baltic-tea, a écrit à 21 h 47 UTC que Telegram avait aussi désactivé la distribution et l’affichage des widgets sur ses serveurs ; Telegram ne l’a pas confirmé.
CryptoSlate et The Defiant, qui ont rapporté la restriction tôt le 15 novembre, relèvent tous deux qu’elle ne vise que les widgets HTML. Les messages ordinaires des bots fonctionnent, et The Defiant, citant un contributeur anonyme de la Bot API, décrit la mesure comme plus étroite qu’un gel des mini-applications. La formule « bots ordinaires » ne dit pas si certains bots peuvent encore envoyer des widgets. L’archive du chercheur, rédigée avant la coupure, indiquait déjà qu’un bot ou un compte absent de la liste blanche reçoit la même erreur.
| Date (2026) | Événement | Source |
|---|---|---|
| 9 novembre | Bot API 10.4 ajoute les widgets, avec des accès aux portefeuilles TON | Journal des modifications de la Bot API de Telegram |
| 10 novembre, 12 h 59 UTC | Durov présente les widgets : « Tout message Telegram peut désormais devenir une application » | Chaîne Telegram de Durov |
| 10 novembre, 13 h 16 UTC | Le commit ca3594d arrive dans le fork de QuickJS de Telegram, que l’archive désignera ensuite comme le correctif | GitHub, TelegramMessenger/quickjs |
| 11 novembre | V12 publie une vidéo où un widget ouvre la Calculatrice sur Android | DEV Community |
| 11 novembre, 13 h 28 UTC | L’archive tg-widget-rce est créée sur GitHub | GitHub |
| 13 novembre, vers 15 h 50 UTC | sendWidget commence à échouer pour les bots ordinaires | Ticket GitHub n° 947 |
| 13 novembre, 16 h 02 UTC | Durov affirme que le problème « n’existe pas » et qu’il est entièrement corrigé | Chaîne Telegram de Durov |
| 13 novembre, 18 h 55 UTC | Le mainteneur confirme que les bots ordinaires ne peuvent pas utiliser les widgets | Ticket GitHub n° 947 |
Ce que cela change pour les portefeuilles TON, les mini-applications et les bots de trading
Telegram héberge une bonne part des outils crypto que le grand public utilise chaque jour : portefeuilles TON intégrés à l’application, mini-applications qui vendent des jetons ou font tourner des jeux, canaux de signaux et bots de trading qui détiennent des clés ou demandent de connecter un portefeuille. Un bogue qui permettrait à un message d’exécuter du code dans l’application de messagerie les toucherait tous, puisque le portefeuille et la conversation partagent le même appareil et souvent la même application.
Cela reste une hypothèse. Personne n’a montré que les accès aux portefeuilles TON pouvaient être détournés, ni qu’un widget pouvait atteindre les clés d’un portefeuille. Les affirmations de l’archive concernent les moteurs HTML et JavaScript du client, pas les fonctions de portefeuille, et la demande de transaction d’un widget passe toujours par une fenêtre du portefeuille que l’utilisateur doit approuver. Le risque que les utilisateurs de crypto connaissent déjà, un bot ou un lien qui les pousse à signer un transfert, n’a besoin d’aucun bogue.
Plus tôt ce mois-ci, un scénario semblable s’est joué avec des iPhone : Bitquery a retracé des USDT siphonnés depuis des portefeuilles TRON, et le lien avec une faille iOS sans clic reposait sur une seule victime. Les annonces d’attaques sans clic se propagent vite, et les preuves arrivent souvent plus tard, ou jamais.
Que peuvent faire utilisateurs et développeurs de bots dès maintenant
Durov affirme que le problème est corrigé sur les serveurs de Telegram, et l’archive indique que les versions actuelles de l’application contiennent les correctifs. Les gestes pratiques coûtent peu :
- Mettre à jour Telegram sur tous ses appareils, Android, iOS, ordinateur et macOS, puisque l’archive recense d’anciennes versions sur ces quatre plateformes.
- Ne pas démarrer de bots ou de services que l’on ne connaît pas : de l’aveu même de Durov, démarrer un service tiers était l’étape dont l’attaque avait besoin.
- Ne jamais signer une demande de portefeuille que l’on n’a pas lancée soi-même, et lire ce que la signature autorise avant de l’approuver.
- Traiter tout bot ou widget qui réclame une signature de portefeuille TON comme une transaction, car il peut en être une.
Pour les anciennes autorisations accordées à des applications sur d’autres chaînes, notre routine en six étapes pour révoquer les approbations de jetons reste tout aussi valable après une alerte de ce genre.
Les développeurs de bots qui avaient déplacé des fonctions vers les widgets doivent prévoir une solution de repli pour l’instant : claviers en ligne, mini-applications ou simples messages. Le mainteneur n’a pas dit quand, ni si, l’accès reviendrait.
Ce qu’il faut surveiller ensuite
Le prochain signal viendra de Telegram lui-même. L’entreprise pourrait rétablir les widgets pour tous les bots, ce qui laisserait penser à une pause plutôt qu’à une politique. Elle pourrait publier un compte rendu détaillé, ou un numéro CVE pourrait être attribué, ce qui trancherait sur la nature des bogues et sur les versions concernées. V12 pourrait aussi publier sa méthode, ce qui montrerait si l’utilisateur devait faire quelque chose avant l’exécution du code.
Pour les détenteurs de TON, l’autre date du calendrier n’a rien à voir avec les widgets : le gel de 1,08 milliard de TON d’origine prend fin le 21 février 2027.
