APT aptiktas pažeidžiamumas, leidžiantis pakeisti atsisiųstą paketą

tinkamas pažeidžiamumas

Buvo nustatyta APT paketų tvarkyklės pažeidžiamumas (CVE-2019-3462), ką leidžia užpuolikui inicijuoti įdiegto paketo apgaulę ar užpuolikas valdo saugyklos veidrodį, ar gali sutrikdyti tranzitinį srautą tarp vartotojo ir saugyklos (MITM ataka).

Problemą nustatė saugumo tyrėjas Maxas Justiczas, žinomas dėl APK paketų tvarkyklės („Alpine“) ir „Packagist“, „NPM“ bei „RubyGems“ saugyklų pažeidžiamumų aptikimo.

Problema Taip yra dėl neteisingo HTTP peradresavimo apdorojimo kodo laukų patikrinimo.

Kokia problema?

Šis pažeidžiamumas leidžia užpuolikui pakeisti savo turinį duomenyse, perduodamuose per HTTP sesiją („Debian“ ir „Ubuntu“ naudoja HTTP, o ne HTTPS, kad pasiektų saugyklą, darant prielaidą, kad skaitmeninio parašo pakanka derinant metaduomenis ir paketo dydį.)

Nustatytas pažeidžiamumas suteikia užpuoliko galią pakeiskite perduotą paketą, po kurio APT supras jį gautą iš oficialaus veidrodžio ir pradės diegimo procesą.

Įtraukdamas į kenkėjišką scenarijų paketą, paleistą diegimo metu, užpuolikas gali pasiekti savo kodą sistemoje, turinčioje root teises.

Norėdami atsisiųsti duomenis iš saugyklos, APT pradeda vaiko procesą, įgyvendindamas konkretų transportą, ir organizuoja sąveiką su šiuo procesu naudodamas paprastą tekstinį protokolą su komandų padalijimu tuščia eilute.

Kaip nustatyti problemą?

Problemos esmė ta, kad HTTP transportavimo tvarkyklė, gavęs atsakymą iš HTTP serverio su antrašte „Location:“, jis prašo patvirtinti peradresavimą iš pagrindinio proceso.

Visiškai perkelkite šios antraštės turinį. Dėl perduodamų specialiųjų simbolių švaros trūkumo užpuolikas lauke „Vieta:“ gali nurodyti eilutės pertrauką.

Kadangi ši reikšmė bus dekoduojama ir perduodama ryšio kanalu su pagrindiniu procesu, užpuolikas gali imituoti kitokį atsaką nei HTTP transportavimo tvarkyklė ir pakeisti manekeno 201 URI bloką.

Pvz., Jei užpuolikas, pateikdamas užklausą dėl paketo, pakeičia atsakymą, šis pakeitimas paskatins kito duomenų bloko perkėlimą į pagrindinį procesą.

Atliekant atsisiųstų failų maišos apskaičiavimą, pagrindinis procesas paprasčiausiai patikrina šiuos duomenis su maišais iš pasirašytų paketų duomenų bazės.

Tarp metaduomenų užpuolikas gali nurodyti bet kurią bandomųjų maišų, susietų duomenų bazėje su tikrais pasirašytais paketais, vertę, tačiau ji iš tikrųjų neatitinka perkelto failo maišų.

Pagrindinis procesas priims atsakymo kodą, pakeistą užpuolimu, ieškos maišos duomenų bazėje ir manys, kad paketas, kuriam yra teisingas skaitmeninis parašas, yra įkeltas, nors iš tikrųjų lauko su maiša vertė pakeista ryšio kanalas su pagrindiniu procesu naudojant ataką ir failas, nurodytas pakeistuose metaduomenyse.

Kenkėjiškas paketas atsisiunčiamas perkėlimo metu pridedant paketą prie failo Release.gpg.

Šis failas turi nuspėjamą vietą failų sistemoje, o paketo pridėjimas prie jo paleidimo neturi įtakos skaitmeninio parašo ištraukimui iš saugyklos.

Gaunant duomenis, apt išjungia darbuotojų procesus, kurie specializuojasi įvairiuose protokoluose, kurie bus naudojami duomenims perduoti.

Tada pagrindinis procesas bendrauja su šiais darbuotojais per „stdin / stdout“, kad nurodytų, ką atsisiųsti ir kur įdėti į failų sistemą naudojant protokolą, kuris šiek tiek panašus į HTTP.

Tada pagrindinis procesas pateiks konfigūraciją ir paprašys išteklių, o darbuotojo procesas atsakys.

Kai HTTP serveris atsako peradresuodamas, darbuotojo procesas grąžina 103 peradresavimą vietoj 201 URI Atlikta, o pagrindinis procesas naudoja šį atsakymą, kad išsiaiškintų, kurio ištekliaus prašyti toliau.


Būkite pirmas, kuris pakomentuos

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.