Connexion
Abonnez-vous

Microsoft a corrigé une grosse faille dans son Windows Defender

Microsoft a corrigé une grosse faille dans son Windows Defender

Le 06 avril 2018 à 09h28

La protection contre les malwares était victime d'une vulnérabilité provenant d'un choix pas très heureux de l'éditeur.

Découverte par le chercheur Halvar Falke de chez Google (Project Zero), elle se situe dans le code open source d'Unrar, récupéré et modifié par Microsoft. Des variables signées sont devenus non signées, autorisant sous certaines conditions un dépassement de mémoire tampon. Avec à la clé l'exécution d'un code arbitraire.

La faille (CVE-2018-0986) était d'autant plus critique qu'elle était exploitable à distance. Remontée à Microsoft le 1er mars, elle a été corrigée mardi dans une mise à jour distribuée via Windows Update. Dans Paramètres/Mise à jour et sécurité/Windows Defender, il faut vérifier que la version du moteur est bien la 1.1.14700.5. Toutes les versions de Windows depuis 7 SP1 sont concernées.

Le 06 avril 2018 à 09h28

Commentaires (5)

Vous devez être abonné pour pouvoir commenter.

Abonnez-vous
votre avatar

Des variables signées sont devenus non signées, autorisant sous certaines conditions un dépassement de mémoire tampon.

<img data-src=" /> du grand art !

votre avatar

Je trouve ça assez ironique qu’un machin appelé “Defender” comporte lui-même des failles (ou en ajoute) <img data-src=" />









fred42 a écrit :



Des variables signées sont devenus non signées, autorisant sous certaines conditions un dépassement de mémoire tampon.

<img data-src=" /> du grand art !





D’habitude c’est plutôt l’inverse, en passant de non signé (par exemple “unsigned int toto” sur 32 bits) à signé, une valeur supérieure ou égale à 2^31 se retrouve (très) négative.

Là je suppose que la variable, au lieu de se retrouver à -1 par exemple, s’est retrouvée à 2^32 - 1, effectivement ça peut être embêtant <img data-src=" /> .


votre avatar







OlivierJ a écrit :



Là je suppose que la variable, au lieu de se retrouver à -1 par exemple, s’est retrouvée à 2^32 - 1, effectivement ça peut être embêtant <img data-src=" /> .





J’ai pensé à un truc comme ça effectivement avec un test de “négativité” qui devient inopérant. MAis normalement un compilateur moderne gueule quand on teste si un unsigned est &lt;0.


votre avatar







fred42 a écrit :



MAis normalement un compilateur moderne gueule quand on teste si un unsigned est &lt;0.





Probablement, mais là je parle du fait qu’on a : « monUnsignedInt = maVar - 1 » avec maVar = 0 à un moment lors de l’exécution, et là le compilateur ne peut rien faire.


votre avatar







OlivierJ a écrit :



Probablement, mais là je parle du fait qu’on a : « monUnsignedInt = maVar - 1 » avec maVar = 0 à un moment lors de l’exécution, et là le compilateur ne peut rien faire.





Il devrait ! Y en a marre de bosser. Les IDE devraient tout faire à notre place, on ouvre et on boit notre café. Point 😁


Microsoft a corrigé une grosse faille dans son Windows Defender

Fermer