FreeBSD 13 het amper geëindig met 'n hacky implementering van WireGuard met lisensieskendings en kwesbaarhede

Vanaf die kodebasis waarop die FreeBSD 13-vrystelling gevorm is, was die kode wat die WireGuard VPN-protokol implementeer, ontwikkel in opdrag van Netgate sonder konsultasie met die ontwikkelaars van die oorspronklike WireGuard, en reeds ingesluit in die stabiele vrystellings van die pfSense-verspreiding, skandalig verwyder. Na kode-hersiening deur Jason A. Donenfeld, die skrywer van die oorspronklike WireGuard, het dit geblyk dat FreeBSD se voorgestelde implementering van WireGuard 'n stuk lelike kode was, deurspek met bufferoorvloei en die GPL oortree.

Die implementering het katastrofiese foute in die kriptografie-kode bevat, 'n deel van die WireGuard-protokol is weggelaat, daar was foute wat gelei het tot die ineenstorting van die kern en die omseil van sekuriteitsmetodes, en vaste-grootte buffers is gebruik vir invoerdata. Die teenwoordigheid van stompe in plaas van tjeks wat altyd "waar" terugkeer, sowel as vergete ontfoutingsprintfs met die uitvoer van parameters wat vir enkripsie gebruik word, en die gebruik van die slaapfunksie om rastoestande te voorkom, sê baie oor die kwaliteit van die kode.

Sommige dele van die kode, soos die crypto_xor-funksie, is oorgedra vanaf die WireGuard-implementering wat vir Linux ontwikkel is, in stryd met die GPL-lisensie. Gevolglik het Jason Donenfield, saam met Kyle Evans en Matt Dunwoodie (outeur van die WireGuard-poort vir OpenBSD), die taak opgeneem om die problematiese implementering te herwerk en binne 'n week al die kode van die ontwikkelaar wat deur Netgate gehuur is, heeltemal vervang . Die gewysigde weergawe is vrygestel as 'n aparte stel pleisters, geplaas in die WireGuard-projekbewaarplek en is nog nie by FreeBSD ingesluit nie.

Interessant genoeg was daar aanvanklik geen tekens van probleme nie. Netgate, wat WireGuard in die pfSense-verspreiding wou gebruik, het Matthew Macy gehuur, wat goed vertroud is met die FreeBSD-kern en netwerkstapel, is betrokke by foutoplossings en het ondervinding met die ontwikkeling; netwerkbestuurders vir hierdie bedryfstelsel. Macy het 'n buigsame skedule gekry sonder sperdatums of middeltermynkontroles. Ontwikkelaars wat Macy ontmoet het terwyl hy aan FreeBSD gewerk het, het hom beskryf as 'n talentvolle en professionele programmeerder wat nie meer foute as ander gemaak het nie en voldoende op kritiek gereageer het. Die swak gehalte van die WireGuard-implementeringskode vir FreeBSD was vir hulle 'n verrassing.

Na 9 maande se werk het Macy verlede Desember sy implementering by die HEAD-tak, wat gebruik is om die FreeBSD 13-vrystelling te formuleer, gevoeg sonder die voltooiing van ewekniebeoordeling en -toetsing. Die ontwikkeling is gedoen sonder kommunikasie met die ontwikkelaars van die oorspronklike WireGuard en die OpenBSD- en NetBSD-poorte. In Februarie het Netgate WireGuard in die stabiele weergawe van pfSense 2.5.0 geïntegreer en brandmure wat daarop gebaseer is, begin stuur. Nadat probleme geïdentifiseer is, is die WireGuard-kode van pfSense verwyder.

Die bygevoegde kode het kritieke kwesbaarhede onthul wat in 0-dag-uitbuitings gebruik is, maar Netgate het aanvanklik nie die bestaan ​​van kwesbaarhede erken nie en probeer om die ontwikkelaar van die oorspronklike WireGuard van aanvalle en vooroordeel te beskuldig, wat sy reputasie negatief beïnvloed het. Die hawe-ontwikkelaar het aanvanklik aansprake oor kodekwaliteit verwerp en dit as oordrewe beskou, maar nadat hy foute gedemonstreer het, het hy die aandag daarop gevestig dat die werklik belangrike probleem die gebrek aan behoorlike hersiening van kodekwaliteit in FreeBSD is, omdat die probleme vir baie maande onopgemerk gebly het. (Netgate-verteenwoordigers het aangedui dat die resensie in Augustus 2020 in die publiek bekendgestel is, maar individuele FreeBSD-ontwikkelaars het opgemerk dat in Phabricator die resensie deur Macy gesluit is sonder dat dit voltooi is en dat opmerkings geïgnoreer is). Die FreeBSD Core Team het op die voorval gereageer deur te belowe om hul kode-hersieningsprosesse te moderniseer.

Matthew Macy, die ontwikkelaar van die problematiese FreeBSD-poort, het kommentaar gelewer op die situasie deur te sê dat hy 'n groot fout gemaak het deur die werk aan te pak sonder om gereed te wees om die projek te implementeer. Macy verduidelik die gevolglike gevolg deur emosionele uitbranding en die gevolg van probleme wat ontstaan ​​het weens post-Covid-sindroom. Terselfdertyd het Macy nie die vasberadenheid gevind om die verpligtinge wat hy reeds onderneem het, te laat vaar nie en het probeer om die projek tot 'n einde te bring.

Macy se toestand is moontlik ook geraak deur 'n onlangse tronkstraf wat hy ontvang het omdat hy onwettig gepoog het om huurders uit 'n huis wat hy gekoop het, wat nie bereid was om vrywillig uit te trek, uit te sit nie. Hy en sy vrou het eerder die vloerbalke afgesaag en gate in die vloere gebreek om die huis onbewoonbaar te maak, en ook probeer om die inwoners te intimideer, by bewoonde woonstelle ingebreek en hul besittings uitgehaal (die aksie is as inbraak geklassifiseer). Om verantwoordelikheid vir sy dade te vermy, het Macy en sy vrou na Italië gevlug, maar is aan die Verenigde State uitgelewer en het meer as vier jaar tronkstraf uitgedien.

Bron: opennet.ru

Voeg 'n opmerking