Menu
Sign In Search Podcasts Libraries Charts People & Topics Add Podcast API Blog Pricing
Podcast Image

Underscore_

Le jour où la CIA a tenté d’influencer VLC — Jean-Baptiste Kempf (rediff)

05 Feb 2026

Transcription

Transcript generated automatically by AI and may contain errors.

Chapter 1: What are the key challenges faced by VLC's developers?

0.031 - 15.913 Michaël de Marliave

Aujourd'hui, on a l'honneur de recevoir JB Kempf, le papa de VLC. Il est venu nous raconter ses anecdotes les plus folles. Ça parle de failles critiques dans le logiciel, de fights avec la CIA, de procès contre la Chine et l'Inde, de tentatives de hacks ultra sophistiqués sur les développeurs. Bref,

0

15.893 - 33.577 Michaël de Marliave

On n'imagine pas tout ce qui se passe quand on est à la tête d'un des logiciels les plus téléchargés au monde. Et juste avant, quelques mots sur notre sponsor du jour, Hosting. On revient aux anecdotes de JB en commençant par une question très importante. Comment ça se fait qu'un logiciel comme VLC, un simple player vidéo, puisse contenir des vulnérabilités critiques ?

0

33.597 - 35.86 Michaël de Marliave

Et est-ce que ceux qui l'utilisent sont en danger ?

0

35.84 - 51.283 Jean-Baptiste Kempf

Si tu regardes, il y a une faille hyper intéressante qui est arrivée l'autre fois, qui était sur Chrome. Et c'était la faille sur LibWebP, qui est donc le format d'image. En fait, c'est exactement le même problème. C'est-à-dire qu'en fait, tout ce qui est compression vidéo, comme on en a déjà parlé dans les précédentes émissions,

0

51.263 - 69.481 Jean-Baptiste Kempf

En fait, tu compresses et tu enlèves toutes les données qui ne servent à rien. Résultat, il n'y a quasiment plus aucune donnée redondante puisqu'on a compressé au maximum. Et donc, en fait, tu dois faire confiance aux données qu'il y a dans la vidéo. Par exemple, tu dis, la vidéo, c'est une vidéo qui fait un million de pixels de large et un million de pixels de haut.

69.501 - 88.927 Jean-Baptiste Kempf

Et si tu ne réfléchis pas, en fait, tu fais un million fois un million et puis tu alloues cette zone de mémoire. Évidemment, tu sors des trucs de mémoire Autorisée. Possible. Et donc, en fait, tu fais un intègre overflow et donc tu écris ailleurs. Et puis après, tu vas lire, mais donc tu as alloué un espace de mémoire qui est beaucoup trop petit, parce qu'en fait, tu as overflow.

88.947 - 101.807 Jean-Baptiste Kempf

Donc, au lieu de faire un truc de 10 milliards, ce qui n'est pas possible en 32 bits, tu fais un truc de 5 octets ou 10 octets. Et donc, par contre, tu continues à écrire. Tu décompresse et donc tu écris en dehors de ta zone mémoire.

101.787 - 108.217 Michaël de Marliave

Ça vient du fait que, comme tu as compressé, tu es obligé de faire confiance à tout ce qui est écrit.

Chapter 2: How does VLC handle critical vulnerabilities in its software?

108.678 - 127.947 Jean-Baptiste Kempf

Si tu ne fais pas attention, c'est le problème de tout ce qu'on appelle des parseurs. Globalement, c'est que tu prends des données qui sont envoyées par Internet et tu fais confiance. Or, il ne faut jamais faire confiance. Le premier problème, c'est qu'écrire des parseurs, c'est difficile. Il y a des langages qui font des très bons parseurs.

0

127.927 - 144.602 Jean-Baptiste Kempf

Mais, comme on a déjà parlé, en multimédia, tu dois aller vite. J'ai 16 millisecondes pour afficher une phrase, j'en ai 16, j'en ai pas 17. C'était déjà la discussion de la fois d'avant. Et donc, t'écris en langage de bas niveau. Et donc, t'écris en C. Ou, dans le cas de David, t'écris en assembleur.

0

144.642 - 160.463 Jean-Baptiste Kempf

Et donc, en fait, tu perds tous les petits checks de sécurité des langages, notamment un des langages qui est fait pour écrire des parseurs de façon sécurisée, ça s'appelle le Rust. Mais nous, bah non. Et puis surtout, on l'écrit en C. Voire en assembleur. Et le... Alors maintenant, tu vas me dire, d'accord, on sait faire des choses, on sait. Oui, c'est vrai.

0

160.503 - 177.003 Jean-Baptiste Kempf

Sauf qu'en fait, il y a beaucoup de choses qui sont basées sur FFmpeg ou sur VLC qui ont été écrites dans la fin des années 90, début des années 2000. Et on était quand même beaucoup plus cool, on faisait quand même beaucoup plus confiance, mais surtout... on savait moins utiliser les failles de sécurité.

0

177.043 - 187.638 Jean-Baptiste Kempf

Et donc, en fait, de par la taille du projet, qu'en fait, VLC, c'est un truc énorme. C'est monstrueux. En fait, quand tu compiles VLC plus toutes les dépendances, on se passe de 15 millions de lignes de code en C et en C++. C'est monstrueux.

187.678 - 193.506 Michaël de Marliave

Et donc, l'idée qu'on va tout réécrire en Rust, par exemple, pour que ce soit assez bon, qu'il n'y ait plus de failles de sécurité. Ça n'arrivera jamais.

193.486 - 209.487 Michaël de Marliave

et surtout je pense qu'il y a un truc qui peut être un peu contradictif c'est on se dit ok il y a eu des failles critiques par exemple dans VLC moi j'en mentionnais une ou deux c'était par exemple une qui concernait les fichiers MKV où ça marchait avec un double fichier et en gros tu pouvais avoir une exécution arbitraire de code et je parlais d'une autre qui concernait les sous-titres

209.467 - 225.83 Michaël de Marliave

Et ça peut, intuitivement, on pourrait se dire, mais en fait, s'il y a une faille, c'est que c'est du code qui a été écrit par JB derrière son ordi. En fait, ça concerne directement le code de VLC. Mais ce n'est pas forcément aussi simple que ça, dans le sens où vous interagissez avec aussi des librairies, genre du code écrit par d'autres gens.

225.85 - 241.531 Jean-Baptiste Kempf

C'est qu'en fait, le problème de VLC ou le problème de Chrome, c'est qu'en fait, dans ton process, tu as du code qui tourne, qui n'est pas le tien. Donc, tu ne peux pas faire confiance. Donc, soit tu audites tout le code, parce que c'est open source et comme VLC, on amène tout le code.

Chapter 3: What are the implications of being an open-source project like VLC?

995.409 - 1011.535 Jean-Baptiste Kempf

Donc là, c'était clairement une tentative d'intrusion sur mon ordinateur. Donc ça, déjà, pas très cool. Le gars, tu l'as vu faire ? Oui. Et c'est la fin de l'histoire ? Mais tu veux que je fasse quoi ? Je suis en train de faire un talk. Je finis mon talk. Il est branché, il est reparti, tu l'as vu ? Il est branché, j'ai vu qu'il n'a pas réussi à faire son truc.

0

1012.276 - 1015.06 Jean-Baptiste Kempf

J'essaye de sortir et le mec était parti.

0

1015.08 - 1015.521 Michaël de Marliave

Ah oh !

0

1015.855 - 1030.123 Jean-Baptiste Kempf

Tu vois sa tête, ça peut ? Non, t'as oublié. Il n'y avait pas des caméras ? Tu sais, c'est comme ici, t'as 28 milliards. Complètement aveugle, parce qu'il faut avoir de la bonne lumière. Un mec qui disparaît dans l'ombre. Mais c'est bizarre ! J'ai une autre histoire, c'était une bonne leçon. C'était une bonne leçon.

0

1030.143 - 1045.97 Jean-Baptiste Kempf

En fait, tu sais, en général, quand des gens disent que t'as une faille de sécurité, j'en ai une par semaine. Et en général, la réponse, c'est donne-moi la preuve ou pars-toi. Donc en général, souvent les gens un peu bons, ils te disent pourquoi et surtout ils te donnent un fichier. Et classiquement, notamment quand tu veux montrer qu'il y a une exécution, tu exécutes calque.exe.

1045.99 - 1062.554 Jean-Baptiste Kempf

Donc tu vois la calculatrice, ça c'est le truc classique, tu montres qu'effectivement tu es capable d'avoir un fichier, de faire une remote exécution puisque tu lances la calculatrice. Et ça c'est toujours été le standard, on lance la calculatrice de tous les mecs de sécurité. Et une fois on a reçu une faille de sécurité de quelqu'un, et en fait c'est un script.

1062.574 - 1085.482 Jean-Baptiste Kempf

Donc souvent aussi tu as des scripts Python, tu lances le script Python, Et en fait, au lieu de faire exec cal, ce qu'il faisait, c'est qu'il allait lire dans le point SSH la clé privée ID RSA et dans le point GPG la clé privée GPG. Et il l'envoyait sur un serveur distant. C'est un piège ! Alors, attention, pour expliquer ce que ça veut dire.

1085.522 - 1092.592 Michaël de Marliave

Le script, il était censé démontrer que le gars avait trouvé une faille d'un VLC. Exactement. Donc, c'est un truc que tu exécuterais, toi, sur ta machine de développeur.

1092.612 - 1108.394 Jean-Baptiste Kempf

En tant que développeur, oui. Et donc, là, en fait, au lieu... À la fin, effectivement, il y avait une exploitation, etc. Sauf que, au lieu de faire exact calque, il faisait lire le fichier à cet endroit-là et envoyer sur un serveur distant. Évidemment, c'est la clé de privé de signature de moi. Pas celle de Videoland, mais de moi.

Comments

There are no comments yet.

Please log in to write the first comment.