Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Les lecteurs multimédias exposent les utilisateurs aux attaques par le biais des sous-titres piégés
La preuve en vidéo

Le , par Patrick Ruiz

43PARTAGES

6  0 
Les chercheurs en sécurité de la firme Check Point ont découvert que de populaires lecteurs multimédias comme VLC, Kodi, Popcorn Time ou Stremio sont vulnérables à des attaques par le biais de sous-titres malicieux. Compte tenu du fait que le streaming connaît un boom ces dernières années, la firme estime à 200 millions le nombre de potentielles victimes.

Les lecteurs multimédias donnent la possibilité à leurs utilisateurs de télécharger des sous-titres à partir de dépôts dédiés. La firme Check Point explique que ces dépôts recèlent un potentiel énorme pour les hackers. En effet, il suffit, d’après les explications des experts, qu’un hacker manipule les algorithmes de classement de la plateforme de dépôt pour s’assurer de ce qu’un lecteur multimédia ou un humain, trompé par le rang du sous-titre le télécharge.


Le problème est d’autant plus grave que les fichiers de sous-titres sont traités par les lecteurs comme de simples fichiers textes puisqu’ils ne sont pas considérés par ces derniers comme des vecteurs d’attaques. En effet, indépendamment du format de fichier d’un sous-titre, les informations en son sein ne diffèrent pas trop de celles qu’un fichier texte classique contiendrait. Il s’agit généralement d’une chaîne de caractères (qui correspond à une traduction) et l’instant auquel elle doit apparaître à l’écran.

Or, rien n’exclut que les fichiers de sous-titres puissent contenir du code malicieux qui pourrait permettre à un hacker de prendre le contrôle total d’un appareil. Le terme appareil est générique de ce qui pourrait être un ordinateur de type PC, une tablette, un téléviseur connecté, bref, tout dispositif sur lequel on peut se servir d’un de ces lecteurs. Le potentiel de dommage pour sa part dépendrait du « génie » du hacker qui pourrait extirper des informations sensibles, installer un rançongiciel ou même perpétrer une attaque par déni de service. D’après ce que rapporte la firme, rien n’indique que cette faille ait déjà été exploitée par des hackers. Elle a cependant publié une preuve de concept pour convaincre les sceptiques.


La firme indique que la liste des lecteurs mentionnés n’est pas exhaustive, d’autres pourraient exhiber la même faille. Pour ce qui est du cas spécifique des lecteurs VLC, Kodi, Popcorn Time et Stremio, la firme déclare avoir prévenu les équipes de développement concernées. Les équipes de développement de Kodi, VLC et Stremio ont déjà réagi avec des versions corrigées de leurs lecteurs, celle de Popcorn Time pour sa part a, d’après ce que rapporte Check Point, développé une version corrigée qui n’est pas encore officiellement disponible en téléchargement.

Source : Check Point

Et vous ?

Qu’en pensez-vous ?

Voir aussi :

La CIA s'est servie de VLC et de plusieurs autres logiciels portés par la communauté du libre, pour mener ses opérations d'espionnage

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de monwarez
Membre actif https://www.developpez.com
Le 25/05/2017 à 17:09
Le soucis venait pour vlc d'un double incrément
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for( ; *psz_text != '\0' && *psz_text != '\n' && *psz_text != '\r'; )
{
switch( *psz_text )
{
...
    case '\\':
        ...
        if( ( toupper((unsigned char)*(psz_text + 1 ) ) == 'C' ) ||
            ( toupper((unsigned char)*(psz_text + 1 ) ) == 'F' ) )
        {
            psz_text++; psz_text++;
            break;
        }
Donc il suffirait d'avoir
Code : Sélectionner tout
1
2
char str[256] = "\\C\0aaaaaaa...maliciouscode";
Vu qu'il y avait un double incrément lorsqu'il y a \ suivit de C(ou F), la chaîne pourrait se terminer juste après le C(ou F), mais le parseur continuerais plus loin que prévu.
Voir le patch http://git.videolan.org/?p=vlc.git;a...f903a829446eb6
Le CVE https://nvd.nist.gov/vuln/detail/CVE-2017-8311
1  0 
Avatar de ijk-ref
Membre confirmé https://www.developpez.com
Le 25/05/2017 à 10:14
Je ne comprends pas comment c'est possible... sauf si les interpréteurs de commandes de sous-titres se sont amusées à implémenter une commande pouvant exécuter du code de haut niveau ou un exécutable. C'est le cas ?

Concrètement si je m'amusais à écrit en c# un petit lecteur de sous-titre pour lire les commandes d'un *.srt (simple fichier text). Je ne comprends absolument pas comment mon programme pourrait avoir la possibilité d'exécuter un code malicieux.
0  0 
Avatar de monwarez
Membre actif https://www.developpez.com
Le 25/05/2017 à 11:08
Citation Envoyé par ijk-ref Voir le message
Je ne comprends pas comment c'est possible... sauf si les interpréteurs de commandes de sous-titres se sont amusées à implémenter une commande pouvant exécuter du code de haut niveau ou un exécutable. C'est le cas ?

Concrètement si je m'amusais à écrit en c# un petit lecteur de sous-titre pour lire les commandes d'un *.srt (simple fichier text). Je ne comprends absolument pas comment mon programme pourrait avoir la possibilité d'exécuter un code malicieux.
Une bonne partie du temps, il s'agit de débordement mémoire de la pile ou du tas qui peuvent avoir lieu lors de la lecture du fichier, ou lors de l'analyse,ou lors de l'affichage.
0  0 
Avatar de
https://www.developpez.com
Le 25/05/2017 à 12:21
Du coup si on ouvre un srt avec un éditeur de texte il serait possible de reconnaître les éventuel fichier douteux ?
0  0