V APT bola zistená zraniteľnosť, ktorá vám umožňuje nahradiť stiahnuteľný balík

trefná zraniteľnosť

Bol identifikovaný chyba v správcovi balíkov APT (CVE-2019 3462,), čo umožňuje útočníkovi inicializovať spoof nainštalovaného balíka či má útočník kontrolu nad zrkadlom úložiska alebo či môže narušiť tranzitnú komunikáciu medzi používateľom a úložiskom (útok MITM).

Problém identifikoval bezpečnostný výskumník Max Justicz, známy detekciou zraniteľností v správcovi balíkov APK (Alpine) a v úložiskách Packagist, NPM a RubyGems.

Problém Je to z dôvodu nesprávneho overenia polí v spracovávacom kóde presmerovania HTTP.

Aký je problém?

Táto zraniteľnosť umožňuje útočníkovi nahradiť svoj vlastný obsah v údajoch prenášaných v rámci relácie HTTP (Debian a Ubuntu používajú na prístup do úložiska protokol HTTP a nie HTTPS, za predpokladu, že digitálny podpis je dostatočný na zodpovedajúce metadáta a veľkosť paketu.)

Zistená zraniteľnosť umožňuje útočníkovi moc vymeňte prenesený paket, po ktorom ho APT bude vnímať ako prijatý z oficiálneho zrkadla a zaháji proces inštalácie.

Vďaka zahrnutiu skriptov spustených počas inštalácie do škodlivého balíka môže útočník dosiahnuť vykonanie svojho kódu v systéme s oprávneniami root.

Na stiahnutie dát z úložiska APT spustí podradený proces s implementáciou konkrétneho transportu a interakciu s týmto procesom organizuje pomocou jednoduchého textového protokolu s rozdelením príkazov na prázdny riadok.

Ako zistím problém?

Podstatou problému je, že obslužný program prenosu HTTP, po prijatí odpovede od HTTP servera s hlavičkou „Location:“ si vyžiada potvrdenie presmerovania z hlavného procesu.

Úplný prenos obsahu tejto hlavičky. Z dôvodu nedostatočnej čistoty prenášaných špeciálnych znakov môže útočník v poli „Umiestnenie:“ určiť zlom riadku.

Pretože táto hodnota bude dekódovaná a prenášaná komunikačným kanálom s hlavným procesom, útočník môže simulovať inú odpoveď ako obslužný program transportu HTTP a nahradiť figurínu 201 URI blok.

Napríklad, ak pri požiadavke na paket útočník nahradí odpoveď, výsledkom tejto substitúcie bude prenos nasledujúceho bloku údajov do hlavného procesu.

Výpočet hashov pre stiahnuté súbory je spracovaný a hlavný proces jednoducho kontroluje tieto údaje pomocou hashov z databázy podpísaných balíkov.

Medzi metadátami môže útočník určiť ľubovoľnú hodnotu testovacích hašov prepojených v databáze so skutočne podpísanými balíkmi, ale v skutočnosti nezodpovedá hašovaniu preneseného súboru.

Hlavný proces prijme kód odpovede nahradený útokom, vyhľadá haš v databáze a zváži, že je načítaný paket, pre ktorý existuje správny digitálny podpis, aj keď v skutočnosti je hodnota poľa s hashom nahradená v komunikačný kanál s hlavným procesom využívajúcim útok a súbor uvedený v nahradených metadátach.

Stiahnutie škodlivého balíka sa uskutoční jeho pripojením k súboru Release.gpg počas prenosu.

Tento súbor má predvídateľné umiestnenie v systéme súborov a pripojenie balíka k jeho spusteniu nemá vplyv na extrakciu digitálneho podpisu z úložiska.

Pri získavaní údajov apt zakáže pracovné procesy, ktoré sa špecializujú na rôzne protokoly, ktoré sa použijú na prenos údajov.

Hlavný proces potom s týmito pracovníkmi komunikuje prostredníctvom stdin / stdout, aby im povedal, čo si majú stiahnuť a kam to umiestniť do súborového systému pomocou protokolu, ktorý sa trochu podobá protokolu HTTP.

Hlavný proces potom odošle svoju konfiguráciu a požiada o zdroj a pracovný proces odpovie.

Keď server HTTP odpovie presmerovaním, pracovný proces vráti 103 Presmerovanie namiesto 201 URI Hotovo a hlavný proces použije túto odpoveď na zistenie, ktorý zdroj má požadovať ďalej.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.