I systemd system manager
Sårbarheden er forårsaget af adgang til et allerede frigivet hukommelsesområde (use-after-free), som opstår, når anmodninger til Polkit eksekveres asynkront, mens DBus-meddelelser behandles. Nogle DBus-grænseflader bruger en cache til at gemme objekter i kort tid og tømme cache-posterne, så snart DBus-bussen er fri til at behandle andre anmodninger. Hvis en DBus-metodehåndtering bruger bus_verify_polkit_async(), skal den muligvis vente på, at Polkit-handlingen er fuldført. Efter Polkit er klar, kaldes handleren igen og får adgang til de data, der allerede er distribueret i hukommelsen. Hvis en anmodning til Polkit tager for lang tid, vil elementerne i cachen blive ryddet, før DBus-metodebehandleren kaldes en anden gang.
Blandt de tjenester, der tillader udnyttelse af sårbarheden, bemærkes systemd-machined, som giver DBus API org.freedesktop.machine1.Image.Clone, hvilket fører til midlertidig lagring af data i cachen og asynkron adgang til Polkit. Interface
org.freedesktop.machine1.Image.Clone er tilgængelig for alle uprivilegerede brugere af systemet, hvilket kan crashe systemd-tjenester eller potentielt forårsage, at kode bliver eksekveret som root (exploitprototypen er endnu ikke blevet demonstreret). Koden, der tillod udnyttelse af sårbarheden, var
Kilde: opennet.ru