Få dage siden Der er blevet frigivet oplysninger om en ny kritisk sårbarhed der påvirker Linux-miljøer kaldet "Pack2TheRoot". Katalogiseret under CVE-2026-41651Denne fejl påvirker PackageKit (et værktøj, der fungerer som et D-Bus-abstraktionslag for at forene pakkehåndtering på tværs af flere distributioner)
Det nævnes, at kendelsen Det tillader enhver lokal bruger uden rettigheder at installere eller fjerne pakker vilkårligt. Ved at udnytte denne sårbarhed kan en angriber få fuld root-adgang til det kompromitterede system. Konsekvensen er betydelig, da problemet har eksisteret siden version 1.0.2, der blev udgivet for over tolv år siden (i 2014), og påvirker standardkonfigurationerne af populære distributioner som Ubuntu, Debian, Rocky Linux og Fedora.
Pack2TheRoot: PackageKit-sårbarhed giver administratoradgang på Linux
El Opdagelsen af Pack2TheRoot var resultatet af en undersøgelse anført af Deutsche Telekoms Røde Team, som De brugte Claude Opus' model for kunstig intelligens til at vejlede deres analyse af lokale privilegieteskaleringsvektorer.
LoForskere observerede oprindeligt, at pkcon install-kommandoen kunne udføres uden at kræve en adgangskode.i visse Fedora-konfigurationer, hvilket gav anledning til mistanke om den underliggende autorisation. Efter at have bekræftet og ansvarligt rapporteret sårbarheden til PackageKit-vedligeholderne, En fungerende udnyttelse er blevet udviklet, selvom den detaljerede offentliggørelse er blevet strategisk forsinket for at give brugere og administratorer mulighed for at implementere de nødvendige opdateringer.
Mekanikken i angrebet
Roden til Sårbarhed ligger i en karrieresituation (TOCTOU-type: Fra kontroltidspunkt til brugstidspunkt) indenfor baggrundsprocestransaktionsstyring (dæmon) af PackageKitPackageKit, der fungerer som root-bruger, delegerer autorisation til polkit-systemet. Når en klient anmoder om at installere en pakke, for eksempel ved hjælp af InstallFiles-metoden, sender den et sæt flag, der dikterer transaktionens opførsel.
Specifikke flag, såsom SIMULATE eller ONLY_DOWNLOAD, instruerer PackageKit til at springe polkit-godkendelse over. da de repræsenterer sikre operationer, der i teorien ikke ændrer systemets tilstand. Fejlen udløses, fordi transaktionshåndtereren overskriver Disse indikatorer caches ubetinget med hvert nyt kald, uden at det verificeres, om transaktionen allerede er godkendt eller er i gang med at blive udført.

Un En angriber kan starte en transaktion ved hjælp af "sikre" indikatorer (og dermed omgås Polkits autorisation) og, millisekunder senere, send en anden D-Bus-anmodning for den samme transaktion, men denne gang med ondsindede flag, der kommanderer en faktisk installation. På grund af GLibs prioritetsarkitektur for event loops (hvor D-Bus-meddelelser behandles før inaktive tilbagekald), overskriver den anden anmodning parametrene lige før scheduleren starter operationen.
Som følge heraf udføres den transaktion, der tidligere var godkendt som "sikker", med de erstattede parametre., installerer pakken med administratorrettigheder.
Løsninger og afhjælpning
Cabe señalar que la Sårbarheden er blevet rettet i PackageKit version 1.3.5Derfor opfordrer udviklerne systemadministratorer til at kontrollere, om deres systemer er sårbare, ved at tjekke tjenestestatussen ved hjælp af kommandoer som systemctl status packagekit eller ved at overvåge aktivitet med pkmon.
den Store distributioner, herunder Debian, Ubuntu og Fedora, er allerede begyndt at distribuere pakker. Opdateringer udgives via deres officielle kanaler. For systemer, hvor en programrettelse ikke er tilgængelig med det samme, har forskere foreslået en løsning: implementering af en brugerdefineret polkit-regel.
dette Reglen afviser øjeblikkeligt og lydløst installationshandlinger for PackageKit. For alle andre brugere end root forhindrer dette, at vinduet for race condition åbnes. Det er vigtigt at bemærke, at selvom udnyttelsen er hurtig og lydløs, efterlader den et tydeligt spor i systemloggene: efter en vellykket udnyttelse går PackageKit-daemonen ned på grund af en assertion-fejl (assertion failed: (!transaction->priv->emitted_finished)). Selvom systemd genstarter tjenesten og forhindrer et denial-of-service-angreb, er tilstedeværelsen af denne besked i journalctl en stærk indikator for, at systemet er blevet kompromitteret.
Endelig, hvis du er interesseret i at lære mere om dette, kan du konsultere detaljer i følgende link.