Een exploit is openbaar gemaakt voor de zevende kwetsbaarheid (1, 2-3, 4, 5, 6) in de Linux-kernel, waardoor een niet-bevoorrechte lokale gebruiker rootrechten kan verkrijgen door gegevens in de paginacache te overschrijven. Er is nog geen CVE-ID toegewezen, en behalve de exploitcode zijn er momenteel geen details over het probleem beschikbaar. Een patch is alleen beschikbaar en is op 20 mei gepubliceerd en op 21 mei geaccepteerd in de hoofdbranch van de Linux-kernel (de correctieve releases van de kernel zijn nog niet beschikbaar).
De kwetsbaarheid is aanwezig in de implementatie van de technologie GRO (Generic Receive Offload), die wordt gebruikt om de verwerking van gepakte segmenten te versnellen. De kwetsbaarheid wordt veroorzaakt door een fout in de implementatie van het zerocopy-mechanisme in de functie skb_gro_receive(), die directe wijzigingen aanbrengt in de gegevens in de paginacache om onnodige buffering te vermijden. Wanneer de vlag SKBFL_MANAGED_FRAG_REFS is ingesteld, werd het opslaan van de referentie naar vrijgegeven geheugenpagina's overgeslagen in het veld shinfo->frags, waarna dit veld aan een andere skb werd gekoppeld zonder de referentieteller te wijzigen, wat leidde tot toegang tot het geheugen na vrijgave (use-after-free). Het probleem kon worden uitgebuit om gegevens in de paginacache te overschrijven, door te manipuleren met de pointer naar de io_uring buffer.
De aanval is mogelijk op systemen met de io_uring subsystem ingeschakeld (io_uring_disabled=0). Voor het werken van de exploit moet er een uitvoerbaar bestand met de leesbare SUID-root vlag beschikbaar zijn in het systeem. Het exploitatiemechanisme vermindert zich tot het verkrijgen van een gebruikersdatabase in de paginacache door de aanvaller en vervolgens het invoegen van de regel "hax::0:0::/root:/bin/sh" in de cache. Vervolgens wordt het commando "su hax" uitgevoerd, dat niet de originele gebruikersdatabase van de opslag verkrijgt, maar een gewijzigde kopie met het vervalste login "hax", die rootrechten en een leeg wachtwoord heeft. De werking van de exploit is getest op Ubuntu 24.04.
Bron: opennet.ru
