En teknik för att utnyttja en sårbarhet i tty-undersystemet i Linux-kärnan avslöjas

Forskare från Google Project Zero-teamet publicerade en metod för att utnyttja en sårbarhet (CVE-2020-29661) i implementeringen av TIOCSPGRP ioctl-hanteraren från tty-undersystemet i Linux-kärnan, och undersökte också i detalj de skyddsmekanismer som kan blockera sådana sårbarheter.

Felet som orsakade problemet fixades i Linux-kärnan så tidigt som den 3 december förra året. Problemet dyker upp i kärnor upp till version 5.9.13, men de flesta distributioner fixade problemet i kärnpaketuppdateringar som föreslogs förra året (Debian, RHEL, SUSE, Ubuntu, Fedora, Arch). En liknande sårbarhet (CVE-2020-29660) hittades samtidigt i implementeringen av TIOCGSID ioctl-anropet, men den har också åtgärdats överallt.

Problemet orsakas av en låsningsbugg som orsakar ett tävlingstillstånd i drivers/tty/tty_jobctrl.c-koden, som kan användas för att skapa minnesåtkomstvillkor utan användning efter fri användning från användarutrymmet via ioct-anrop TIOCSPGRP. En fungerande exploatering har demonstrerats för privilegieskalering på Debian 10 med kärnan 4.19.0-13-amd64.

Samtidigt, i den publicerade artikeln, ligger tonvikten inte så mycket på tekniken för att skapa en fungerande exploit, utan på vilka verktyg som finns i kärnan för att skydda mot sådana sårbarheter. Slutsatsen är inte uppmuntrande, metoder som segmentering av minne i högen och styrning av minnesåtkomst efter att det har frigjorts används inte i praktiken, eftersom de leder till sämre prestanda, och skydd baserat på CFI (Control Flow Integrity), vilket blockerar utnyttjar i de senare stadierna av attacken, behöver förbättras.

När man överväger vad som kan göra skillnad i det långa loppet, användningen av avancerade statiska analysatorer eller användningen av minnessäkra språk som Rust- och C-dialekter med rika annoteringar (som Checked C) i byggfasen av state checkers sticker ut, lås, föremål och pekare. Bland skyddsmetoderna nämns också aktiveringen av panic_on_oops-läget, överföringen av kärnstrukturer till skrivskyddat läge och begränsningen av åtkomst till systemanrop med hjälp av mekanismer som seccomp.

Källa: opennet.ru

Lägg en kommentar