A fost detectată o vulnerabilitate în APT care vă permite să înlocuiți un pachet descărcabil

vulnerabilitate apt

A fost identificat o vulnerabilitate în managerul de pachete APT (CVE-2019-3462), ce permite unui atacator să inițieze o falsificare a pachetului instalat dacă atacatorul are controlul oglinzii depozitului sau poate perturba traficul de tranzit între utilizator și depozit (atac MITM).

Problema a fost identificată de cercetătorul în securitate Max Justicz, cunoscut pentru detectarea vulnerabilităților în managerul de pachete APK (Alpine) și în depozitele Packagist, NPM și RubyGems.

Problema Se datorează verificării incorecte a câmpurilor din codul de procesare a redirecționării HTTP.

Care este problema?

Această vulnerabilitate permite unui atacator să-și înlocuiască propriul conținut în datele transmise în cadrul sesiunii HTTP (Debian și Ubuntu folosesc HTTP și nu HTTPS pentru a accesa depozitul, presupunând că semnătura digitală este suficientă pentru a se potrivi cu metadatele și dimensiunea pachetului.)

Vulnerabilitatea identificată permite puterii atacatorului înlocuiți pachetul transmis, după care APT îl va percepe ca fiind primit de la oglinda oficială și va începe procesul de instalare.

Prin includerea în pachetul rău intenționat a scripturilor lansate în timpul instalării, un atacator poate realiza executarea codului său pe un sistem cu privilegii de root.

Pentru a descărca date din depozit, APT începe un proces secundar cu implementarea unui transport specific și organizează interacțiunea cu acest proces folosind un protocol text simplu cu împărțirea comenzilor printr-o linie goală.

Cum detectez problema?

Esența problemei este că manipulatorul de transport HTTP, la primirea unui răspuns de la serverul HTTP cu antetul „Locație:”, solicită confirmarea redirecționării din procesul principal.

Transferul complet al conținutului acestui antet. Datorită lipsei de curățenie a caracterelor speciale transmise, un atacator poate specifica o întrerupere de linie în câmpul „Locație:”

Deoarece această valoare va fi decodificată și transmisă prin canalul de comunicație cu procesul principal, atacatorul poate simula un răspuns diferit față de manipulatorul de transport HTTP și înlocui blocul fals URI 201.

De exemplu, dacă, atunci când solicită un pachet, atacatorul înlocuiește răspunsul, această substituire va duce la transferul următorului bloc de date la procesul principal.

Calculul hashurilor pentru fișierele descărcate este gestionat și procesul principal verifică pur și simplu aceste date cu hash-uri din baza de date a pachetelor semnate.

Dintre metadate, un atacator poate specifica orice valoare a hashurilor de test legate în baza de date la pachetele semnate, dar nu corespunde efectiv cu hashurile fișierului transferat.

Procesul principal va accepta codul de răspuns înlocuit cu atacul, va căuta hashul în baza de date și va considera că pachetul pentru care există o semnătură digitală corectă este încărcat, deși în realitate valoarea câmpului cu hash este substituită în canalul de comunicare cu procesul principal folosind atacul și fișierul specificat în metadatele înlocuite.

Descărcarea unui pachet rău intenționat se face prin atașarea pachetului la fișierul Release.gpg, în timpul transferului.

Acest fișier are o locație previzibilă pe sistemul de fișiere și atașarea unui pachet la pornirea acestuia nu afectează extragerea semnăturii digitale din depozit.

Când obține date, apt dezactivează procesele lucrătorilor specializate în diferitele protocoale care vor fi utilizate pentru transferul de date.

Procesul principal comunică apoi cu acești lucrători prin stdin / stdout pentru a le spune ce să descarce și unde să îl pună în sistemul de fișiere folosind un protocol care seamănă puțin cu HTTP.

Procesul principal va trimite apoi configurația sa și va solicita o resursă, iar procesul lucrătorului va răspunde.

Când serverul HTTP răspunde cu o redirecționare, procesul lucrător returnează o redirecționare la 103 în loc de 201 URI Efectuat, iar procesul principal folosește acest răspuns pentru a afla ce resursă să solicite în continuare.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.