Dirty Pipe: en sårbarhet som gör att data kan skrivas över

Nyligen bröt nyheten ut det en sårbarhet identifierades i Linux-kärnan och som redan är katalogiserad under CVE-2022-0847 och som de har namngett som "Dirty Pipe".

Denna sårbarhet kallad "Dirty Pipe"gör det möjligt att skriva över innehållet i cachen på sidan för vilken fil som helst, inklusive de som är inställda på skrivskyddad, öppnad med flaggan O_RDONLY, eller som finns på filsystem monterade skrivskyddad.

På den praktiska sidan, sårbarheten skulle kunna användas för att injicera kod i godtyckliga processer eller korrupta data i öppna filer. Du kan till exempel ändra innehållet i filen authorized_keys för sshd-processen.

Om Dirty Pipe

Det liknar den kritiska sårbarheten Dirty COW identifierades 2016 och Dirty Pipe nämns vara på samma nivå som Dirty COW vad gäller fara, men att denna är mycket lättare att använda.

Dirty Pipe identifierades under analysen av klagomål om periodiska skador på arkiv laddas ner över nätverket på ett system som laddar ner komprimerade filer från en loggserver (37 skador på 3 månader på ett laddat system), som förbereddes med splice()-operationen och namnlösa rör.

Sårbarhet har manifesterats sedan Linux-kärnan version 5.8, släpptes i augusti 2020.

Sett på ett annat sätt kan vi säga att det finns i Debian 11 men det påverkar inte baskärnan i Ubuntu 20.04 LTS, medan för RHEL 8.x och openSUSE/SUSE 15 kärnor som ursprungligen är baserade på gamla grenar, men det är möjligt att ändringen som orsakar problemet har överförts till dem (det finns inga exakta uppgifter ännu).

Sårbarheten beror på bristen på initialisering av värdet "buf->flags" i koden för funktionerna copy_page_to_iter_pipe() och push_pipe(), trots att minnet inte rensas när strukturen allokeras, och med vissa manipulationer med namnlösa pipes, "buf->flags" kan innehålla ett värde från en annan operation. Med den här funktionen kan en oprivilegierad lokal användare uppnå utseendet på värdet PIPE_BUF_FLAG_CAN_MERGE i flaggan, vilket gör att de kan skriva över data i sidcachen helt enkelt genom att skriva ny data till en speciellt förberedd namnlös pipe.

för en attack kan göras behöver du en målfil som måste vara läsbar och eftersom åtkomsträttigheter inte kontrolleras när man skriver till en pipe, kan en ersättning utföras på sidcachen, även för filer som finns på skrivskyddade partitioner (till exempel för c CD-ROM-filer).

Med detta, efter att ha ersatt informationen i sidcachen, kommer processen, när du läser data från filen, inte att ta emot den riktiga informationen, utan de ersatta.

Det nämns det Operationen Dirty Pipe går ut på att skapa ett namnlöst rör och fylla det med godtyckliga data för att uppnå inställning av flaggan PIPE_BUF_FLAG_CAN_MERGE på alla ringstrukturer som är associerade med den.

Data läses sedan från pipen, men flaggan förblir inställd på alla instanser av pipe_buffer-strukturen i pipe_inode_info-ringstrukturerna. Sedan görs ett anrop till splice() för att läsa data från destinationsfilen till ett namnlöst rör, med start vid den nödvändiga offseten. När du skriver data till denna namnlösa pipe kommer flaggan PIPE_BUF_FLAG_CAN_MERGE att skriva över data i sidcachen istället för att skapa en ny instans av pipe_buffer-strukturen.

Slutligen Om du är intresserad av att veta mer om det, du kan kontrollera detaljerna i originalanteckningen I följande länk.

Även om du är intresserad kunna följa eller känna till publicering av uppdateringar av paket i huvuddistributionerna kan du göra det från dessa sidor: DebianSUSEubuntuRHELfedoraGentooArchLinux.

Det nämns att den föreslagna sårbarhetskorrigeringen är tillgänglig i Linux Kernel-versionerna 5.16.11, 5.15.25 och 5.10.102 och korrigeringen ingår också i kärnan som används på Android-plattformen.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.