Hoewel IO_uring een van de grootste Linux-kernelinnovaties van de afgelopen jaren is geweest om te helpen bij het leveren van meer performante en efficiënte I/O, is het ook de thuisbasis geweest van verschillende beveiligingskwetsbaarheden. Vanwege aanhoudende beveiligingsproblemen wordt deze interface voor asynchrone I/O beperkt of volledig uitgeschakeld in Google-producten.
De Google-beveiligingsblog merkte op dat 60% van de inzendingen voor het Google Vulnerability Rewards-programma ongeveer IO_uring was. Google heeft ongeveer 1 miljoen USD aan IO_uring kwetsbaarheden betaald uit zijn beloningsprogramma.
Als gevolg hiervan heeft Google IO_uring in Chrome OS uitgeschakeld totdat een manier is gevonden om het correct te sandboxen. Android van Google gebruikt ondertussen een seccomp-bpf-filter zodat apps het niet kunnen gebruiken, terwijl toekomstige Android-releases SELinux zullen gebruiken om IO_uring te beperken tot geselecteerde systeemprocessen. Google werkt er ook aan om IO_uring standaard uit te schakelen in GKE AutoPilot. Ten slotte hebben ze het gebruik van IO_uring op productieservers van Google uitgeschakeld.
De Google-beveiligingsblog vermeldde verder:
“Hoewel io_uring prestatievoordelen biedt en snel reageert op beveiligingsproblemen met uitgebreide beveiligingsreparaties (zoals het backporten van de 5.15-versie naar de 5.10 stable tree), is het een vrij nieuw onderdeel van de kernel. Als zodanig is io_uring wordt nog steeds actief ontwikkeld, maar wordt nog steeds beïnvloed door ernstige kwetsbaarheden en biedt ook sterke exploitatieprimitieven. Om deze redenen beschouwen we het momenteel alleen als veilig voor gebruik door vertrouwde componenten.”
Lees meer op de Google-beveiligingsblog.