Google heeft bekendgemaakt dat de voortdurende adoptie van de Rust-programmeertaal in Android ertoe heeft geleid dat het aantal geheugenveiligheidsproblemen voor het eerst onder de 20% van het totale aantal kwetsbaarheden is gedaald.
“We hebben Rust geadopteerd vanwege de beveiliging ervan en zien een 1000x lagere kwetsbaarheid voor geheugenveiligheid vergeleken met de C- en C++-code van Android. Maar de grootste verrassing was de impact van Rust op de softwarelevering”, aldus Jeff Vander Stoep van Google. “Omdat Rust-wijzigingen een 4x lagere rollback-snelheid hebben en 25% minder tijd besteden aan codebeoordeling, is het veiligere pad nu ook het snellere.”
De ontwikkeling komt iets meer dan een jaar nadat de technologiegigant bekendmaakte dat de overgang naar Rust leidde tot een afname van het aantal geheugenveiligheidsproblemen van 223 in 2019 naar minder dan 50 in 2024.
Het bedrijf wees erop dat Rust-code minder revisies nodig heeft, waardoor ongeveer 20% minder revisies nodig zijn dan hun C++-tegenhangers, en heeft bijgedragen aan een lager terugdraaipercentage, waardoor de algehele ontwikkelingsdoorvoer is verbeterd.
Google zei ook dat het van plan is om de “beveiligings- en productiviteitsvoordelen” van Rust uit te breiden naar andere delen van het Android-ecosysteem, waaronder kernel, firmware en kritieke apps van eerste hand, zoals Near Presence, Message Layer Security (MLS) en Chromium, waarvan de parsers voor PNG, JSON en weblettertypen zijn vervangen door geheugenveilige implementaties in Rust.
Bovendien heeft het de noodzaak van een diepgaande verdedigingsbenadering benadrukt, waarbij wordt gesteld dat de ingebouwde geheugenveiligheidsfuncties van de programmeertaal slechts een onderdeel zijn van een alomvattende geheugenveiligheidsstrategie.
Google benadrukte bijvoorbeeld de ontdekking van een kwetsbaarheid voor geheugenveiligheid (CVE-2025-48530, CVSS-score: 8,1) in CrabbyAVIF, een AVIF-parser/decoder-implementatie (AV1 Image File) in het onveilige Rust, die had kunnen resulteren in uitvoering van externe code. Hoewel de lineaire bufferoverflow-fout nooit openbaar is gemaakt, is deze door Google gepatcht als onderdeel van de Android-beveiligingsupdate voor augustus 2025.
Uit verdere analyse van de ‘bijna-ongeluk’-kwetsbaarheid bleek dat deze niet-exploiteerbaar werd gemaakt door Scudo, een dynamische geheugenallocator in de gebruikersmodus in Android die is ontworpen om heap-gerelateerde kwetsbaarheden te bestrijden, zoals bufferoverflow, gebruik na gratis en dubbel gratis, zonder dat dit ten koste gaat van de prestaties.
Benadrukkend dat onveilig Rust “al echt heel veilig” is, zei Google dat de kwetsbaarheidsdichtheid aanzienlijk lager is in vergelijking met C en C++, eraan toevoegend dat de integratie van een “onveilig” codeblok in Rust de veiligheidscontroles van de programmeertaal niet automatisch uitschakelt.
“Hoewel C en C++ zullen blijven bestaan, en zowel software- als hardwareveiligheidsmechanismen cruciaal blijven voor gelaagde verdediging, is de overgang naar Rust een andere aanpak waarbij het veiligere pad ook aantoonbaar efficiënter is”, aldus het rapport.