Le standard UPnP permet à des périphériques connectés de se localiser entre eux et d'établir automatiquement des configurations opérationnelles pour le partage de données, le streaming, le contrôle de la lecture vidéo, etc. En temps normal, une application de partage de fichiers fonctionnant sur un ordinateur peut demander via UPnP à un routeur d'ouvrir un port spécifique et le lier au réseau local de son ordinateur afin d'ouvrir le partage de fichiers avec des utilisateurs distants.

UPnP est principalement destiné aux réseaux locaux, mais au cours des tests qu'ils ont effectués entre juin et novembre 2012, les chercheurs en sécurité de Rapid7 ont comptabilisé plus de 80 millions d'adresses IP publiques uniques ayant répondu à des requêtes UPnP envoyées via Internet. En outre, ils ont constaté que 20 % - 17 millions - de ces adresses IP renvoyaient à des appareils exposés à Internet par le service SOAP (Simple Object Access Protocol) UPnP. « Ce dernier peut permettre aux pirates de cibler des systèmes installés derrière un pare-feu et expose leurs informations sensibles », ont expliqué les chercheurs de Rapid7.

Le SDK Portable UPnP mis en cause 

Sur la base des réponses UPnP, les chercheurs ont pu identifier les appareils et voir quelle bibliothèque UPnP ils utilisaient. Ils ont ainsi constaté que, dans plus de 25 % des cas, le protocole 'UPnP était géré par une bibliothèque appelée Portable UPnP SDK. Selon les chercheurs, huit vulnérabilités exploitables à distance ont été identifiées dans le Portable UPnP SDK, dont deux pouvant être utilisées pour exécuter du code à distance. « Les vulnérabilités que nous avons identifiées dans le Portable UPnP SDK ont été corrigées avec la version 1.6.18 (la mise à jour a été livrée hier), mais il faudra beaucoup de temps avant que les fabricants et éditeurs d'application intègrent ce correctif dans leurs produits », a déclaré hier dans un blog le CTO de Rapid7, HD Moore.

Plus de 23 millions d'adresses IP, parmi les 80 millions identifiées lors des analyses, renvoient à des appareils susceptibles d'être compromis en tirant profit des vulnérabilités du Portable UPnP SDK. « Il suffit d'envoyer un paquet UDP unique spécialement conçu », a indiqué le CTO. Des vulnérabilités ont également été identifiées dans une autre bibliothèque UPnP appelée MiniUPnP. Elles peuvent être utilisées dans des attaques par déni de service DDoS ou pour exécuter du code à distance. « Même si ces vulnérabilités ont été corrigées dans les versions MiniUPnP publiées en 2008 et 2009, 14 % des périphériques UPnP restent exposés parce qu'ils utilisent toujours la version 1.0 de MiniUPnP », ont déclaré les chercheurs.

Un patch indispensable pour MiniUPnP 

« D'autres problèmes ont été identifiés dans la dernière version 1.4 de MiniUPnP, mais ils ne seront pas rendus publics avant que le développeur de la bibliothèque ne publie un patch pour y remédier », ont-ils justifié. «  Au total, nous avons identifié plus de 6 900 produits exposés à ce type d'attaques, du faite des vulnérabilités UPnP », a déclaré HD Moore. «  Cette liste concerne 1500 fournisseurs et ne prend en compte que les dispositifs exposés à Internet par le service UPnP SOAP, très préoccupant en-soi ». Rapid7 a publié trois listes distinctes de produits mettant en oeuvre un service UPnP SOAP via les bibliothèques Portable UPnP SDK, et MiniUPnP. Belkin, Cisco, Netgear, D-Link et Asus, dont on retrouve le nom dans la liste des produits vulnérables publiée par Rapid7, n'ont pas répondu aux demandes de commentaires envoyées lundi par nos confrères d'IDG News Service.

HD Moore estime que, dans la plupart des cas, les périphériques sortis des catalogues des fournisseurs ne seront pas mis à jour et resteront exposés indéfiniment à des attaques à distance, sauf si leurs propriétaires désactivent manuellement la fonctionnalité UPnP ou s'ils remplacent leurs produits.