Dans FreeBSD 13, une implĂ©mentation bĂąclĂ©e de WireGuard avec des violations de licence et des vulnĂ©rabilitĂ©s a failli ĂȘtre intĂ©grĂ©e

À partir de la base de code sur laquelle le lancement de FreeBSD 13 a Ă©tĂ© formulĂ©, le code implĂ©mentant le protocole VPN WireGuard, dĂ©veloppĂ© Ă  la demande de la sociĂ©tĂ© Netgate sans consultation avec les dĂ©veloppeurs d'origine de WireGuard, a Ă©tĂ© supprimĂ© dans un scandale. Il avait dĂ©jĂ  Ă©tĂ© inclus dans les versions stables de la distribution pfSense. AprĂšs avoir examinĂ© le code, Jason Donenfeld, l'auteur original de WireGuard, a dĂ©couvert que la rĂ©alisation proposĂ©e pour FreeBSD Ă©tait un Ă©chantillon de code de mauvaise qualitĂ©, truffĂ© de dĂ©passements de tampon et enfreignant la licence GPL.

Des erreurs catastrophiques ont été trouvées dans l'implémentation du code cryptographique, une partie du protocole WireGuard a été omise, des erreurs ont conduit à des plantages du noyau et à des contournements des méthodes de protection, et pour les entrées, des tampons de taille fixe ont été utilisés. La qualité du code est fortement remise en question par la présence de bouchons à la place des vérifications, qui renvoient toujours la valeur « true », ainsi que par l'oubli de printf de débogage affichant les paramÚtres utilisés pour le cryptage et l'utilisation de la fonction sleep pour éviter les conditions de course.

Certaines parties du code, comme la fonction crypto_xor, ont été transférées de l'implémentation de WireGuard développée pour Linux, en violation de la licence GPL. En conséquence, Jason Donenfeld, avec Kyle Evans et Matt Dunwoodie (auteur du portage de WireGuard pour OpenBSD), a entrepris de retravailler l'implémentation problématique et a entiÚrement remplacé le code de l'éditeur engagé par Netgate en l'espace d'une semaine. La version retravaillée a été publiée sous forme d'un ensemble de patches distincts, placés dans le dépÎt du projet WireGuard et n'est pas encore inclus dans FreeBSD.

Il est intéressant de noter qu'au départ, rien ne laissait présager le pire. La société Netgate, désireuse d'intégrer WireGuard dans la distribution pfSense, a engagé Matthew Macy, un expert du noyau et de la pile réseau de FreeBSD, impliqué dans la correction de bugs et ayant de l'expérience dans le développement de pilotes réseau pour ce systÚme d'exploitation. Macy a été assigné à un emploi du temps libre sans délais ni revues intermédiaires. Les développeurs ayant collaboré avec Macy sur FreeBSD le décrivaient comme un programmeur talentueux et professionnel, commettant pas plus d'erreurs que d'autres et réagissant de maniÚre adéquate aux critiques. La mauvaise qualité du code de l'implémentation de WireGuard pour FreeBSD a été une surprise pour eux.

AprÚs 9 mois de travail, en décembre de l'année derniÚre, Macy a ajouté sa réalisation à la branche HEAD sans avoir terminé la révision et les tests par des participants extérieurs, ce qui a servi à créer le release de FreeBSD 13. Le développement s'est fait sans lien avec les développeurs de l'original WireGuard et des ports pour OpenBSD et NetBSD. En février, Netgate a intégré WireGuard dans la version stable de pfSense 2.5.0 et a commencé à le déployer dans les pare-feu basés sur celui-ci. AprÚs la découverte de problÚmes, le code de WireGuard a été retiré de pfSense.

Des vulnĂ©rabilitĂ©s critiques ont Ă©tĂ© identifiĂ©es dans le code ajoutĂ©, qui ont Ă©tĂ© exploitĂ©es dans des exploits 0-day. Pourtant, au dĂ©but, Netgate ne reconnaissait pas la prĂ©sence de ces vulnĂ©rabilitĂ©s et a tentĂ© de blĂąmer le dĂ©veloppeur original de WireGuard pour des attaques et des prĂ©jugĂ©s, ce qui a eu un impact nĂ©gatif sur sa rĂ©putation. Le dĂ©veloppeur du port a d'abord rejetĂ© les prĂ©occupations concernant la qualitĂ© du code, les considĂ©rant comme exagĂ©rĂ©es, mais aprĂšs la dĂ©monstration des erreurs, a pris conscience que la vĂ©ritable problĂ©matique Ă©tait le manque de revue adĂ©quate de la qualitĂ© du code dans FreeBSD, puisque les problĂšmes Ă©taient restĂ©s non dĂ©tectĂ©s pendant de nombreux mois (les reprĂ©sentants de Netgate ont indiquĂ© que la rĂ©vision publique avait Ă©tĂ© lancĂ©e en aoĂ»t 2020, mais certains dĂ©veloppeurs de FreeBSD ont notĂ© que la rĂ©vision dans Phabricator avait Ă©tĂ© fermĂ©e par Macy sans ĂȘtre effectuĂ©e et avec une ignorance des commentaires). L'Ă©quipe FreeBSD Core Team a rĂ©agi Ă  l'incident en promettant de moderniser les processus de vĂ©rification du code.

Matthew Macy, dĂ©veloppeur du port problĂ©matique pour FreeBSD, a commentĂ© la situation en affirmant qu'il avait commis une grave erreur en s'attaquant Ă  ce projet sans ĂȘtre prĂȘt. Le rĂ©sultat obtenu par Macy est attribuĂ© Ă  l'Ă©puisement Ă©motionnel et aux problĂšmes causĂ©s par le syndrome post-Covid. Toutefois, Macy n'a pas eu le courage de renoncer aux engagements dĂ©jĂ  pris et a tentĂ© de mener le projet Ă  son terme.

L'Ă©tat de Macy a Ă©galement pu ĂȘtre influencĂ© par sa rĂ©cente peine de prison, qu'il a purgĂ©e pour des actions illĂ©gales dans une tentative d'expulser des locataires de la maison qu'il a achetĂ©e, qui refusaient de partir volontairement. Avec sa femme, ils ont sciĂ© les poutres du plafond et créé des trous dans les planchers pour rendre la maison inhabitable, tout en essayant d'intimider les locataires, en dĂ©truisant des appartements occupĂ©s et en emportant leurs biens (l'action a Ă©tĂ© qualifiĂ©e de vol avec effraction). Pour Ă©viter des poursuites pour ses actions, Macy et sa femme se sont enfuis en Italie, mais il a Ă©tĂ© extradĂ© vers les États-Unis et a purgĂ© plus de quatre ans en prison.

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster