Haavatavus GitHub Actions'i töötlejas, mis vÔimaldas komprimeerida pakette Nixpkgs

Avalikustatud teave GitHub Actions'i töötlejate haavatavuste kohta, mis kĂ€ivitatakse automaatselt, kui tehakse pull-pĂ€ringuid pakettide Nixpkgs hoidlasse, mida kasutatakse NixOS-i ja Nix paketihalduri ökosĂŒsteemis. Haavatavus vĂ”imaldas kolmandatel isikutel eraldada tokeni, mis andis juurdepÀÀsu kirjutamiseks ja lugemiseks kĂ”igile Nixpkgs'is paiknevatele lĂ€htekoodipakettidele. Antud token vĂ”imaldas otse muudatusi teha igas paketis projekti Git-reatsioonis, jĂ€ttes tĂ€helepanuta muudatusete kontrollimise ja ĂŒlevaatamise protsessid.

Nixpkgs-i komprimeerimise ja oma koodi asendamise vĂ”imalust demonstreerisid kĂŒberjulgeoleku teadlased möödunud aasta oktoobris NixCon konverentsil ning see kĂ”rvaldati koheselt projekti infrastruktuuris. Siiski, rĂŒnnaku ĂŒksikasjad avalikustati alles aasta pĂ€rast. Probleem oli seotud Nixpkgs GitHub hoidla töötlejate kasutamisega, mis olid seotud 'pull_request_target' sĂŒndmusega ja viisid automaatsete kontrollide lĂ€biviimisele uute pull-pĂ€ringute saabumise korral.

Erinevalt 'pull_request' sĂŒndmusest, annavad 'pull_request_target' töötlejatele juurdepÀÀsu kirjutamiseks ja lugemiseks kogumiskeskkonnale, mis nĂ”uab erilist tĂ€helepanu andmete töötlemisel, mis on edastatud pull-pĂ€ringus. Ühes 'pull_request_target' seotud töötlejas kontrolliti pull-pĂ€ringus esitatud 'OWNERS' faili, mille jaoks koguti ja kutsuti esile utiliit codeowners-validator: steps: — uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf with: ref: refs/pull/$/merge path: pr — run: nix-build base/ci -A codeownersValidator — run: result/bin/codeowners-validator env: OWNERS_FILE: pr/ci/OWNERS

Probleem oli selles, et juhul, kui 'OWNERS' faili vormingus ilmnes viga, vĂ€ljastas utiliit codeowners-validator mittesobiva vormingu rea sisu standardlogisse, mis oli avalikult kĂ€ttesaadav. RĂŒnnak piirdus sĂŒmboolse lingi paigutamisega pull-pĂ€ringusse nimega OWNERS, mis viitas failile '.credentials', kus kogumiskeskkonnas asuvad mandaadid. Seega viis selle faili töötlemine veani ja selle tulemusena kuvati esimeses reas olev juurdepÀÀsutokeni sisu avalikus logis.

Haavatavus GitHub Actions'i töötlejas, mis vÔimaldas komprimeerida pakette Nixpkgs

Lisaks leiti veel ĂŒks haavatavus toimetajas, mis kontrollib editorconfigi reegleid. steps: — name: Hangi muutunud failide nimekiri PR-ist run: gh api [
] | jq [ 
 ] > „$HOME/changed_files” — uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 with: ref: refs/pull/$/merge — name: Kontrolli EditorConfig run: cat „$HOME/changed_files” | xargs -r editorconfig-checker

Antud juhul oli probleem utiliidi „xargs” kasutamine, et kĂ€ivitada editorconfig-checker programmi iga failiga pull-requestis. Kuna failide nimesid ei kontrollitud kehtivuse osas, vĂ”is rĂŒndaja esitada pull-requestis faili erimĂ€rkidega, mis töödeldi kĂ€ivitamisel editorconfig-checker utiliidina kĂ€surea argumentidena. NĂ€iteks, kui luua fail „—help”, nĂ€itaks editorconfig-checker utiliit olemasolevaid valikute vihjeid.

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