Een geheugencorruptiefout in het Open vSwitch-datapad van de Linux-kernel geeft gewone lokale gebruikers een pad om te rooten op een brede reeks standaard geconfigureerde distributies, en een openbare exploit wordt geleverd met vooraf gebouwde records voor ongeveer 800 kernelbuilds.
De kwetsbaarheid, bijgehouden als CVE-2026-64531 (CVSS-score: 7,8) en codenaam OVSwrap door zijn ontdekker, werd op 28 juli 2026 onthuld door beveiligingsonderzoeker Asim Manizada.
De bug zit in het kerneldatapad, niet in de gebruikersruimte ovs-vswitchd daemon. In een technisch artikel zei Manizada dat een aanvaller “geen bestaande OVS-bridge, geen draaiende ovs-vswitchd, geen CAP_NET_ADMIN op hostniveau nodig heeft.”
Op getroffen systemen waarop het OVS-kerneldatapad beschikbaar is en niet-bevoorrechte gebruikersnaamruimten zijn ingeschakeld, kan een gewone gebruiker privégebruikers- en netwerknaamruimten maken met unshare -Urn, CAP_NET_ADMIN binnen die naamruimte verkrijgen en het kwetsbare stroominstallatiepad bereiken.
Als de openvswitch-module is geïnstalleerd maar niet is geladen, kan het omzetten van de Generieke Netlink-familienaam deze automatisch laden. Een lege lsmod-uitvoer betekent niet dat een systeem veilig is.
De upstream-fix werd op 24 juli in stabiele bomen verzonden. Als een gepatchte leverancierskernel nog niet beschikbaar is en Open vSwitch niet vereist is, blokkeer dan toekomstige moduleladingen; als de module al aanwezig is, ontlaadt u deze of start u opnieuw op.
Manizada zei dat hij het probleem op 19 juni had gemeld aan [email protected] en de OVS-onderhouders. De eerste vaste upstream-releases zijn Linux 5.15.212, 6.1.178, 6.6.145, 6.12.97, 6.18.40 en 7.1.5. De end-of-life 6.13 tot en met 6.17, 6.19 en 7.0-series ontvangen geen upstream stabiele oplossingen.
Deze stroomopwaartse cijfers zijn op zichzelf niet voldoende. Distributiekernels bevatten backports en downstream-wijzigingen, dus de leverancierstracker is de veiligere bron van waarheid.
Open vSwitch slaat gegenereerde stroomacties op als Netlink-attributen waarvan het nla_len-veld 16 bits breed is, waardoor elk enkel genest attribuut wordt beperkt tot 65.535 bytes. De onveilige opdracht bestond al 13 jaar, maar een limiet van 32 KiB op de totaal gegenereerde actiestroom zorgde ervoor dat een geneste actie onder het wrap-punt bleef.
Met een wijziging uit maart 2025 werd die limiet verwijderd omdat deze onvoorspelbare fouten veroorzaakte, ook bij grote OpenStack-implementaties, en de oudere truncatiebug blootlegde. In de reviewthread van de enable commit werd de betrouwbaarheid en gebruikersgerichte fouten besproken, maar werd niet ingegaan op de veiligheidsconsequenties van het verwijderen van de bewaker.
Een aanvaller voert een CLONE-actie in, boordevol honderden conntrack-subacties. Op x86-64 breidt de kernel elk uit tot 164 bytes, waardoor de gegenereerde geneste actie voorbij 65.535 bytes wordt geduwd. Wanneer OVS het resultaat naar het veld met een lengte van 16 bits schrijft, loopt de waarde terug.
Latere code vertrouwt op die lengte en hervat het parseren vanuit de door de aanvaller gecontroleerde conntrack-gegevens, waar vervalste OVS-acties wachten. Omdat het landingspunt deterministisch is binnen dezelfde aangrenzende buffer, is heap-première niet vereist.
Manizada beschreef het resultaat als een kwetsbaarheid voor geheugencorruptie met “logica-bug-grade betrouwbaarheid”.
De exploit koppelt drie primitieven aan de wraparound: een kernelpointer lekt via een nep-OUTPUT-actie, een willekeurige kernel leest via een vervalste tunnel SET-actie, en een gerichte verlaging door het afbreken van een vervalste tun_dst-pointer. Het gebruikt deze primitieven om de inloggegevens van een hostproces te vinden en, op moderne kernels, fsuid en fsgid naar nul te verlagen.
De vrijgegeven proof-of-concept is expliciet destructief. Het vereist ook dat OVS conntrack-ondersteuning, de FTP conntrack-helper en sudo worden geïnstalleerd.
Bij succes corrumpeert het een live kernelreferentie, wijzigt /etc/sudoers.d of /etc/sudoers, opent een rootshell en laat processen en OVS-status achter om onveilige demontage te voorkomen. De PoC-repository bevat records voor ongeveer 800 exacte x86-64-kernelbuilds en probeert dynamische afleiding van symbolen of BTF voor ongedekte builds.
Manizada’s niet-uitputtende testmatrix vond exploitatie van standaardconfiguraties op geteste AlmaLinux 9 en 10, Alpine 3.22 tot en met 3.24, Amazon Linux 2023, Arch, CentOS Stream 9 en 10, Debian 12 en 13, Fedora 42 tot en met 44, Gentoo, Kali 2026.1, Linux Mint 22.3, NixOS, openSUSE Tumbleweed, Pop!_OS, Rocky Linux 9 en 10 en Ubuntu 22.04.
Op geteste Ubuntu 24.04-systemen blokkeerde AppArmor het direct aanmaken van naamruimten, maar de aa-exec -p trinity fallback van de PoC herstelde de bereikbaarheid. Stock Ubuntu 26.04 blokkeerde de route voor gewone gebruikers; het uitschakelen van de AppArmor-gebruikersnaamruimtebeperking maakte de geteste systemen exploiteerbaar.
Geteste Amazon Linux 2, Debian 11, Rocky Linux 8 en Ubuntu 20.04 behielden oudere codepaden en konden via deze route niet worden misbruikt.
Installeer een gepatchte leverancierskernel waar deze beschikbaar is. Waar Open vSwitch niet vereist is, is de snelste tussenstap een moduleblok:
echo ‘installeer openvswitch /bin/false’ > /etc/modprobe.d/ovswrap.conf
De overschrijving blokkeert toekomstige pogingen om de module te laden; een module die al in het geheugen aanwezig is, moet nog steeds worden verwijderd of gewist door opnieuw op te starten.
Als u niet-bevoorrechte gebruikersnaamruimten uitschakelt, wordt de gewone lokale gebruikersroute gesloten, maar wordt geen container of ander proces geblokkeerd dat al CAP_NET_ADMIN heeft via een door een aanvaller gecontroleerde netwerknaamruimte. Manizada beschreef de containerrichting als theoretisch bereikbaar, maar demonstreerde deze niet in de vrijgegeven PoC. De PoC-repository bevat ook een BPF-beveiliging voor noodgevallen voor omgevingen die zowel OVS als naamruimten actief moeten houden.
Het risico is vooral acuut wanneer meerdere gebruikers of niet-vertrouwde workloads een host delen. Zoals het advies van CloudLinux het uitdrukte, kan de lokale gebruiker in dat scenario een aanvaller zijn die al een site heeft gecompromitteerd door een niet-gerelateerde fout, en OVSwrap is wat het probleem met één account verandert in een probleem met de hele server.