Në FreeBSD 13 për pak sa nuk u përfshi një implementim i dobët i WireGuard me shkelje licence dhe cenueshmëri

Nga baza e kodit, mbi të cilin u formua lëshimi i FreeBSD 13, u hoq me skandal kodi me realizimin e protokollit VPN WireGuard, e zhvilluar me porosi nga kompania Netgate pa konsultime me zhvilluesit e WireGuard origjinal, dhe tashmë e përfshirë në lëshimet stabili të distribuimit pfSense. Pas kontrollit të kodit nga Jason A. Donenfeld, autori i WireGuard origjinal, doli se realizimi i propozuar për FreeBSD i WireGuard përbente një shembull të kodit të ulët, plot me mbushje të bufereve dhe shkelje të licencës GPL.

Në realizim u gjetën defekte katastrofike në kodin e kriptografisë, një pjesë e protokollit WireGuard u la jashtë, kishte gabime që çonin në rrëzimin e bërthamës dhe kalimin e metodave të mbrojtjes, për të dhënat e hyrjes u përdorën bufere me përmasa fikse. Rreth cilësisë së kodit flasin shumë prania e ngadalësimeve në vend të verifikimeve, që gjithmonë kthejnë vlerën "true", si dhe printf të harxhuara për debuggim që tregojnë parametrat e përdorur për enkriptim, dhe përdorimi i funksionit sleep për të parandaluar gjendjet e garave.

Disa pjesë të kodit, si funksioni crypto_xor, në shkelje të licencës GPL, u transferuan nga realizimi i WireGuard i zhvilluar për Linux. Si rezultat, Jason Donenfeld së bashku me Kyle Evans dhe Matt Dunwoodie, autorin e portit të WireGuard për OpenBSD, morën përsipër të riparonin realizimin problematik dhe brenda një jave zëvendësuan plotësisht gjithë kodin e zhvilluesit të angazhuar nga Netgate. Versioni i riparuar u publikua si një grup i veçantë patch-esh, u vendos në depozitat e projektit WireGuard dhe deri tani nuk është përfshirë në FreeBSD.

ËshtĂ« interesante qĂ« fillimisht nuk kishte asnjĂ« paralajmĂ«rim pĂ«r problem, kompania Netgate, e cila dĂ«shironte tĂ« merrte mundĂ«sinĂ« e pĂ«rdorimit tĂ« WireGuard nĂ« distribucionin pfSense, angazhoi Matthew Macy, i njohur pĂ«r ekspertizĂ«n e tij nĂ« bĂ«rthamĂ«n dhe stek tĂ« rrjetit FreeBSD, i pĂ«rfshirĂ« nĂ« rregullimin e gabimeve dhe me pĂ«rvojĂ« nĂ« zhvillimin e drejtorive tĂ« rrjetit pĂ«r kĂ«tĂ« sistem operativ. Macy kishte njĂ« grafik tĂ« lirĂ« pune pa afate dhe kontrollime tĂ« ndĂ«rmjetme. Zhvilluesit qĂ« ishin tĂ« lidhur me Macy gjatĂ« punĂ«s sĂ« tij mbi FreeBSD e karakterizuan atĂ« si njĂ« programues tĂ« talentuar dhe profesionist, i cili ka po aq gabime sa tĂ« tjerĂ«t dhe reagon nĂ« mĂ«nyrĂ« adekuate ndaj kritikave. CilĂ«sia katastrofike e kodit tĂ« implementimit tĂ« WireGuard pĂ«r FreeBSD ishte njĂ« befasi pĂ«r ta.

Pas 9 muajsh punë, në dhjetor të vitit të kaluar, Macy pa përfundimin e rishikimeve dhe testeve nga palë të jashtme shtoi implementimin e tij në degën HEAD, e cila u përdor për të formuar versionin FreeBSD 13. Zhvillimi u krye pa lidhje me zhvilluesit origjinalë të WireGuard dhe porteve për OpenBSD dhe NetBSD. Në shkurt, kompania Netgate integroi WireGuard në versionin stabil të pfSense 2.5.0 dhe filloi dërgesat në firewall-et e bazuara në të. Pas zbardhjes së problemeve, kodi i WireGuard u hoq nga pfSense.

Në kodin e shtuar u zbuluan vulnerabilitete kritike, të cilat u përdorën në eksploitë 0-day, por në fillim Netgate nuk e pranoi ekzistencën e vulnerabiliteteve dhe përpiqej të akuzonte zhvilluesin e WireGuard origjinal për sulme dhe paragjykime, gjë që reflektoi negativisht në reputacionin e saj. Zhvilluesi i portit fillimisht e hodhi poshtë akuzat për cilësinë e kodit dhe i konsideroi ato të ekzagjeruara, por pas demonstrimit të gabimeve, e kuptoi se problemi i vërtetë është mungesa e rishikimit të duhur të cilësisë së kodit në FreeBSD, pasi problemet mbetën të paqarta për muaj të tërë (përfaqësuesit e Netgate treguan se rishikimi publik kishte filluar që në gusht të vitit 2020, por zhvillues të veçantë të FreeBSD vërejtën se rishikimi në Phabricator ishte mbyllur nga Macy pa u realizuar dhe duke injoruar komentet). Ekipa FreeBSD Core Team reagoi ndaj incidentit me një premtim për të modernizuar proceset e kontrollit të kodit.

Matthew Maisey, the developer of the troubled port for FreeBSD, commented on the situation by admitting he made a significant mistake by taking on the project unprepared. The resulting outcome, he explains, was due to emotional burnout and issues stemming from post-COVID syndrome. However, he did not find the resolve to withdraw from his commitments and attempted to see the project through to the end.

Maisey's condition may also have been impacted by a recent prison sentence he received for illegal actions taken in an attempt to evict tenants from a house he purchased, with tenants unwilling to leave voluntarily. He and his wife tampered with the ceiling beams and created holes in the floors to make the house uninhabitable. They also attempted to intimidate the tenants, broke into occupied apartments, and removed their belongings (this act was classified as burglary). To evade responsibility for these actions, Maisey and his wife fled to Italy but were extradited back to the U.S., where he served over four years in prison.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster