Er is een kwetsbaarheid gedetecteerd in APT waardoor u een downloadbaar pakket kunt vervangen

apt kwetsbaarheid

Is geïdentificeerd een kwetsbaarheid in de APT-pakketbeheerder (CVE-2019-3462), dat stelt een aanvaller in staat om een ​​spoof van het geïnstalleerde pakket te initiëren of de aanvaller controle heeft over de repository-mirror of het transitverkeer tussen de gebruiker en de repository kan verstoren (MITM-aanval).

Het probleem werd geïdentificeerd door beveiligingsonderzoeker Max Justicz, bekend voor het detecteren van kwetsbaarheden in de APK-pakketbeheerder (Alpine) en in de Packagist-, NPM- en RubyGems-opslagplaatsen.

Het probleem Het is te wijten aan een onjuiste verificatie van de velden in de verwerkingscode van de HTTP-omleiding.

Wat is het probleem?

Deze kwetsbaarheid stelt een aanvaller in staat om zijn eigen inhoud te vervangen door de gegevens die binnen de HTTP-sessie worden verzonden (Debian en Ubuntu gebruiken HTTP en niet HTTPS om toegang te krijgen tot de repository, ervan uitgaande dat de digitale handtekening voldoende is met overeenkomende metadata en pakketgrootte.)

De geïdentificeerde kwetsbaarheid geeft de aanvaller macht vervang het verzonden pakket, waarna APT het zal zien als ontvangen van de officiële mirror en het installatieproces zal starten.

Door de opname in het kwaadaardige pakket van scripts die tijdens de installatie worden gestart, kan een aanvaller de uitvoering van zijn code op een systeem met rootrechten bewerkstelligen.

Om gegevens uit de repository te downloaden, start APT een kindproces met de implementatie van een specifiek transport en organiseert de interactie met dit proces met behulp van een eenvoudig tekstprotocol met de verdeling van commando's door een lege regel.

Hoe kan ik het probleem detecteren?

De essentie van het probleem is dat de HTTP-transporthandler, na het ontvangen van een antwoord van de HTTP-server met de kop "Locatie:", vraagt ​​het om bevestiging van de omleiding van het hoofdproces.

De inhoud van deze header volledig overzetten. Omdat de verzonden speciale tekens niet netjes zijn, kan een aanvaller een regeleinde specificeren in het veld "Locatie:".

Aangezien deze waarde wordt gedecodeerd en verzonden via het communicatiekanaal met het hoofdproces, kan de aanvaller een andere reactie simuleren dan de HTTP-transporthandler en het dummy 201 URI-blok vervangen.

Als de aanvaller bijvoorbeeld bij het aanvragen van een pakket het antwoord vervangt, zal deze vervanging resulteren in de overdracht van het volgende gegevensblok naar het hoofdproces.

De berekening van hashes voor de gedownloade bestanden wordt afgehandeld en het hoofdproces controleert deze gegevens eenvoudig met hashes uit de database met ondertekende pakketten.

Onder de metadata kan een aanvaller elke waarde specificeren van test-hashes die in de database zijn gekoppeld aan daadwerkelijk ondertekende pakketten, maar deze komt niet echt overeen met de hashes van het overgedragen bestand.

Het hoofdproces accepteert de responscode die is vervangen door de aanval, zoekt de hash in de database en beschouwt dat het pakket waarvoor een correcte digitale handtekening is, is geladen, hoewel in feite de waarde van het veld met de hash wordt vervangen in de communicatiekanaal met het hoofdproces dat de aanval gebruikt en het bestand dat is gespecificeerd in de vervangen metadata.

Het downloaden van een kwaadaardig pakket wordt gedaan door het pakket tijdens de overdracht aan het Release.gpg-bestand te koppelen.

Dit bestand heeft een voorspelbare locatie op het bestandssysteem en het koppelen van een pakket aan het opstarten heeft geen invloed op de extractie van de digitale handtekening uit de opslagplaats.

Bij het verkrijgen van gegevens schakelt apt werkprocessen uit die gespecialiseerd zijn in de verschillende protocollen die voor gegevensoverdracht worden gebruikt.

Het hoofdproces communiceert vervolgens met deze werkers via stdin / stdout om hen te vertellen wat ze moeten downloaden en waar ze het op het bestandssysteem moeten plaatsen met behulp van een protocol dat een beetje op HTTP lijkt.

Het hoofdproces verzendt vervolgens zijn configuratie en vraagt ​​om een ​​hulpmiddel en het werkproces zal reageren.

Wanneer de HTTP-server reageert met een omleiding, retourneert het werkproces een 103-omleiding in plaats van een 201 URI Gereed, en het hoofdproces gebruikt dit antwoord om erachter te komen welke bron als volgende moet worden aangevraagd.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.