Google zbulon një defekt të sigurisë në GitHub

Project Zero lëshoi ​​detaje për një shkelje serioze të sigurisë në GitHub dhe ata raportojnë se gabimi ndikon në komandat e rrjedhës së punës së veprimit nga GitHub dhe përshkruhet si ashpërsi e lartë. (Ky defekt u zbulua në korrik, por bazuar në periudhën standarde të zbulimit 90-ditor, detajet janë lëshuar vetëm tani.)

Kjo e metë u bë një nga dobësitë e pakta që nuk u rregullua siç duhet përpara skadimit të afatit standard 90-ditor të dhënë nga Google Project Zero.

Sipas Felix Wilhelm (i cili e zbuloi atë), anëtar i ekipit Project Zero, e meta ndikon në funksionin e veprimeve të GitHub, një mjet për të automatizuar punën e zhvilluesve. Kjo sepse komandat e rrjedhës së punës Actions janë "të prekshme nga sulmet e injektimit":

“Actions Github mbështet një veçori të quajtur komandat e rrjedhës së punës si një kanal komunikimi midis ndërmjetësit të veprimit dhe veprimit të ekzekutuar. Komandat e rrjedhës së punës zbatohen në / src / Runner.Worker / ActionCommandManager.cs dhe funksionon duke analizuar STDOUT të të gjitha veprimeve të kryera duke kërkuar një nga dy shënuesit e komandave.

Përmendni atë problemi i madh me këtë veçori është se është shumë i prekshëm nga sulmet me injeksion. Për shkak se procesi i ekzekutimit skanon çdo rresht të shtypur në STDOUT për komandat e rrjedhës së punës, çdo veprim i GitHub që përmban përmbajtje jo të besueshme si pjesë e ekzekutimit të tij është i prekshëm.

Në shumicën e rasteve, aftësia për të vendosur variabla arbitrarë të mjedisit rezulton në ekzekutimin e kodit në distancë sa më shpejt që një rrjedhë tjetër e punës po ekzekutohet. Kam kaluar ca kohë duke parë depot e njohura të GitHub dhe pothuajse çdo projekt që përdor veprime paksa komplekse të GitHub është i prekshëm nga ky lloj i të metës.

më pas, dha disa shembuj sesi mund të shfrytëzohej bug dhe gjithashtu sugjeroi një zgjidhje:

“Në të vërtetë nuk jam i sigurt se cila është mënyra më e mirë për ta rregulluar atë. Unë mendoj se mënyra se si zbatohen komandat e punës është në thelb e pasigurt. Amortizimi i sintaksës së komandës v1 dhe forcimi i inxhinierisë me një listë të lejuar ndoshta do të funksiononte kundër vektorëve të drejtpërdrejtë të RCE.

“Sidoqoftë, edhe aftësia për të mbivendosur variablat e mjedisit 'normal' të përdorur në hapat e mëvonshëm është ndoshta e mjaftueshme për të shfrytëzuar veprimet më komplekse. As nuk kam analizuar ndikimin e sigurisë së kontrolleve të tjera në hapësirën e punës.

Nga ana tjetër, përmend se një zgjidhje e mirë afatgjatë do të ishte zhvendosja e komandave të rrjedhës së punës në një kanal të veçantë (p.sh. një përshkrues i ri i skedarit) për të shmangur analizimin nga STDOUT, por kjo do të thyejë shumë kod ekzistues të veprimit.

Sa i përket GitHub, zhvilluesit e tij postuan një këshillim më 1 tetor dhe zhvlerësuan komandat e prekshme, por argumentuan se ajo që Wilhelm gjeti ishte në fakt një "dobësi e moderuar e sigurisë". GitHub caktoi identifikuesin e defekteve në kod CVE-2020-15228:

“Një dobësi e moderuar e sigurisë është identifikuar në kohën e duhur të veprimeve të GitHub që mund të lejojë injektimin e shtigjeve dhe variablave të mjedisit në rrjedhat e punës që regjistrojnë të dhëna të pasigurta në STDOUT. Kjo mund të çojë në prezantimin ose modifikimin e variablave të mjedisit pa qëllimin e autorit të rrjedhës së punës.

“Për të na ndihmuar në zgjidhjen e këtij problemi dhe për t'ju lejuar të vendosni dinamikisht variablat e mjedisit, ne kemi prezantuar një grup të ri skedarësh për të trajtuar azhurnimet e mjedisit dhe rrugëve në rrjedhat e punës.

“Nëse po përdorni ndërmjetës të vetë-pritur, sigurohuni që ata të azhurnohen në versionin 2.273.1 ose më të ri.

Sipas Wilhelm, më 12 Tetor, Project Zero kontaktoi GitHub dhe në mënyrë aktive u ofroi atyre një dritare 14-ditore nëse GitHub dëshironte më shumë kohë për të çaktivizuar komandat e prekshme. Sigurisht, oferta u pranua dhe GitHub shpresonte të çaktivizonte komandat e pambrojtura pas 19 Tetorit. Project Zero më pas vendosi datën e re të zbulimit për 2 Nëntorin.

Fuente: https://bugs.chromium.org


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.