Composeris on tuvastatud haavatavus, mis kahjustab Packagist PHP hoidlat

Paar päeva tagasi ilmus uudis, et on tuvastatud kriitiline haavatavus en - sõltuvushaldur Koostama (CVE-2021-29472), mis võimaldab teil käivitada süsteemis suvalisi käske spetsiaalselt moodustatud URL-iga väärtusega paketi töötlemisel, mis määrab lähtekoodi allalaadimise suuna.

Probleem avaldub GitDriveri, SvnDriveri ja HgDriveri komponentides kasutatakse koos allika juhtimissüsteemidega Git, Subversion ja Mercurial. Haavatavus parandati helilooja versioonides 1.10.22 ja 2.0.13.

Eelkõige on see mõjutatud Composeri vaikimisi pakettide hoidlas Packagist, mis sisaldab 306.000 1.400 PHP arendajapaketti ja pakub rohkem kui XNUMX miljardit allalaadimist kuus.

PHP ökosüsteemis on Composer peamine tööriist tarkvarasõltuvuste haldamiseks ja installimiseks. Arendusmeeskonnad kogu maailmas kasutavad seda uuendusprotsessi hõlbustamiseks ja rakenduste hõlpsaks töötamiseks kõikides keskkondades ja versioonides.

Katse näitas, et kui probleemi kohta oli teavet, said ründajad Packagisti infrastruktuuri üle kontrolli alla võtta ja hooldajate mandaadid kinni pidada või pakettide allalaadimise kolmanda osapoole serverile ümber suunata, korraldades pakettide variantide edastamise muudatustega. pahatahtlikud kasutajad tagasiside asendamiseks sõltuvuse installimisel.

Oht lõppkasutajatele on piiratud tulenevalt asjaolust, et composer.jsoni sisu määratleb tavaliselt kasutaja ja lingid allikale edastatakse kolmandate osapoolte hoidlatele juurdepääsemisel, mis on tavaliselt usaldusväärsed. Peamine löök langes Packagist.org-i repositooriumile ja teenusele Private Packagist, helistada heliloojale kasutajatelt saadud andmete edastamisega. Ründajad said oma koodi käivitada Packagisti serverites, visates alla spetsiaalselt loodud paketi.

Packagisti meeskond lahendas haavatavuse 12 tunni jooksul pärast teavitamist haavatavust. Teadlased teatasid Packagisti arendajatele eraviisiliselt 22. aprillil ja probleem lahendati samal päeval. Avalik helilooja haavatavuse parandus anti välja 27. aprillil ja üksikasjad avalikustati 28. aprillil. Packagisti serverites olevate logide kontrollimisel ei ilmnenud haavatavusega seotud kahtlast tegevust.

Argumentide sisestamise vead on tõeliselt huvitav klass vigu, mis jäävad koodi ülevaatamise ajal sageli tähelepanuta ja musta kasti interaktsioonides täiesti tähelepanuta.

Probleemi põhjustab URL-i valideerimiskoodi tõrge juurfailis composer.json ja allika allalaadimise linkides. Viga on koodis olnud alates 2011. aasta novembrist. Packagist kasutab koodide allalaadimiste haldamiseks spetsiaalseid kihte, ilma et see oleks seotud kindla allika juhtimissüsteemiga, mis käivitatakse käsurea argumentidega kutsudes "fromShellCommandline".

Probleemi keskmes on see, et ProcessExecutori meetod võimaldas teil URL-is täpsustada täiendavaid kõne parameetreid. Selline pääsemine puudus draiverites GitDriver.php, SvnDriver.php ja HgDriver.php. GitDriver.php rünnakut takistas asjaolu, et käsk "git ls-remote" ei toetanud tee järel täiendavate argumentide täpsustamist.

Rünnak HgDriver.php-le oli võimalik, edastades parameetri "–config" utiliidile "hq", mis võimaldab korraldada mis tahes käsu täitmist, manipuleerides konfiguratsiooniga "alias.identify".

Esitades Packagistile sarnase URL-iga testpaketi, tagasid teadlased, et pärast selle avaldamist said nende server AWS-i ühelt Packagisti serverilt HTTP-päringu, mis sisaldas praeguses kataloogis olevate failide loendit.

Tuleb märkida, et hooldajad ei tuvastanud pakendi müüja avalikus instantsis märke selle haavatavuse varasemast kasutamisest.

Lõpuks, kui olete huvitatud sellest rohkem teada saama, võite tutvuda üksikasjadega Järgmisel lingil.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutav: AB Internet Networks 2008 SL
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.