Een kwetsbaarheid gevonden in het Linux-kernel tty-subsysteem

Onderzoekers van het Google Project Zero-team vrijgegeven onlangs via een blogpost een nieuwe methode om kwetsbaarheden te misbruiken (CVE-2020-29661) bij de implementatie van de ioctl-handler TIOCSPGRP van de Linux-kernel tty-subsysteem, evenals gedetailleerde beschermingsmechanismen die deze kwetsbaarheden kunnen blokkeren.

In het bericht staat dat: het probleem wordt veroorzaakt door een fout in de vergrendelingsinstellingen, wat leidde tot een race-conditie in de code van /tty/tty_jobctrl.c, die werd gebruikt om voorwaarden te creëren voor toegang tot geheugen na lancering (use-after-free), misbruikt door gebruikersruimte door manipulatie met ioct- door TIOCSPGRP aan te roepen.

Naast de gepubliceerde informatie, er is een functionele exploit-demo uitgevoerd voor privilege-escalatie in Debian 10 met kernel 4.19.0-13-amd64 en wat ook niet uitsluit dat het verschillende distributies kan beïnvloeden, waaronder natuurlijk die gebaseerd op en afgeleid van Debian.

Veel van de individuele exploitatietechnieken en mitigatie-opties die ik hier beschrijf zijn niet nieuw. Ik denk echter dat het de moeite waard is om ze samen te schrijven om te laten zien hoe verschillende oplossingen samenwerken met een redelijk normale after-free exploit.

De codefragmenten in deze blogpost die relevant zijn voor de exploit zijn afkomstig uit de vorige versie 4.19.160, want daar is de Debian-doelkernel op gebaseerd; sommige andere codefragmenten zijn van de Linux-hoofdlijn.

Tegelijkertijd, in het gepubliceerde artikel, de nadruk ligt niet zozeer op de techniek van het creëren van een functionele exploit, maar op welke tools bestaan in de kern om uzelf te beschermen tegen dergelijke kwetsbaarheden.

De conclusie is teleurstellend, zoals vermeld wordt dat methoden zoals het segmenteren van geheugen in de heap en het controleren van de toegang tot geheugen nadat het is vrijgemaakt in de praktijk niet worden toegepast omdat ze leiden tot prestatievermindering en bescherming op basis van CFI (Control Flow Integrity), die exploits in de latere stadia van een aanval, vereist verbeteringen.

Een speciaal type terminalapparaat zijn pseudo-terminals, die worden gebruikt wanneer u bijvoorbeeld een terminaltoepassing in een grafische omgeving opent of via SSH verbinding maakt met een externe machine. Terwijl andere terminalapparaten zijn verbonden met een soort hardware, worden beide uiteinden van een pseudo-terminal bestuurd door gebruikersruimte, en pseudo-terminals kunnen vrij worden gemaakt door gebruikersruimte (zonder privileges).

Telkens wanneer / dev / ptmx wordt geopend (afkorting van "pseudo-terminal multiplexer"), vertegenwoordigt de resulterende bestandsdescriptor de apparaatzijde (in de documentatie en kernelbronnen aangeduid als "de master pseudo-terminal") van een apparaat. terminal.

 Het corresponderende terminal device (waar normaal een shell verbinding mee maakt) wordt automatisch aangemaakt door de kernel onder / dev / pts / .

Als we kijken naar wat op de lange termijn een verschil kan maken, ligt de nadruk op het gebruik van geavanceerde statische parsers of het gebruik van geheugenveilige talen zoals Rust en C-dialecten met uitgebreide annotaties (zoals bewezen C) om statuscontroles, sloten, objecten en wijzers. De beveiligingsmethoden vermelden ook het inschakelen van de panic_on_oops-modus, waardoor kernelstructuren alleen-lezen worden en de toegang tot systeemaanroepen wordt beperkt via mechanismen zoals seccomp.

De fout die het probleem veroorzaakt het is opgelost in de Linux-kernel op 3 december van vorig jaar. Het probleem manifesteert zich in kernels vóór versie 5.9.13, maar de meeste distributies hebben het probleem opgelost in de kernelpakketupdates die vorig jaar werden aangeboden.

Een soortgelijke kwetsbaarheid wordt ook genoemd (CVE-2020-29660) die gelijktijdig werd gevonden bij de implementatie van de TIOCGSID ioctl-aanroep, maar ook overal werd verwijderd.

Eindelijk Als u er meer over wilt weten, u kunt de details controleren In de volgende link.


Laat je reactie achter

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

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  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.