Rust replaces C in Android’s Binder as memory bugs fall from 76% to under 20%
Linux merged the removal of Android’s C Binder driver on 24 October. Google’s Android figures, 2019–2025, show what memory-safe code did to its bug share.
Late on 24 October, US Pacific time, Linus Torvalds merged the driver changes for Linux 7.4 that delete the C version of Binder, the kernel driver every Android app and system service uses to talk to the others. Kroah-Hartman, who sent the changes, wrote: “the rust version is stable and will be used going forward in a few billion devices. Great job by those developers”. The merge removes 12 C files, about 11,400 lines.1 It is the newest point on a longer line: across Android as a whole, the share of security bugs caused by memory mistakes has fallen for six years.
01The line: Android's memory-safety share, 2019 to 2025
Google has published the series three times. In December 2022 it reported that memory-safety vulnerabilities fell from 223 in 2019 to 85 in 2022, from 76% to 35% of all Android vulnerabilities, and that Android 13 was the first release in which most new code was in a memory-safe language. It added: “correlation doesn’t necessarily mean causation”.3 In September 2024 the share was 24%, “well below the 70% industry norm”, with the 2024 count extrapolated to 36 (27 at the time).4 That norm is visible elsewhere: Chromium counts around 70% of its high-severity security bugs as memory-safety problems.6 In November 2025 Google reported the share “below 20% of total vulnerabilities for the first time”.5
Memory-safety bugs went from three in four Android vulnerabilities to under one in five
Memory-safety vulnerabilities as a share of all Android vulnerabilities, years Google published, 2019–2025
%
Table view
Memory-safety share
2019
76
2022
35
2024
24
2025 (below)
20
Source: Google Security Blog (Dec 2022, Sep 2024); Google (Nov 2025) · as of 13 November 2025 · 2025 is 'below 20%' with no exact figure, drawn at the 20% ceiling. Years without a published figure are omitted. Google calls the link to new-code language a correlation, not causal.
The TechBag Journal
The 2025 post adds Google’s measured density: about 0.2 vulnerabilities per million lines of Rust, against “closer to 1,000” memory-safety vulnerabilities per million lines in its historical C and C++. Rust changes also spent about 25% less time in code review, and medium and large ones were rolled back about four times less often than C++ changes.5
02What drives it: what memory safety is, and why C allows the bugs
A program keeps its data in memory, in slots it asks for, uses and hands back. A memory-safety bug is a mistake in that bookkeeping: writing past the end of a slot (a buffer overflow), or using a slot after handing it back (a use-after-free). Either can let an attacker overwrite data the program trusts. C gives the programmer raw memory addresses and does not check what is done with them; that is what makes it fast and close to the hardware, and what lets these mistakes through. Java and Go check at run time and clean up memory automatically. Rust checks before the program runs: its compiler refuses code that breaks its ownership rules, except inside blocks marked unsafe, which is why it can be used where C is, in kernels and drivers.
Binder shows the bug class plainly. On 16 September a fuzzer-found use-after-free write in the C driver’s device-registration code was fixed.8 One bug proves nothing alone. Google’s engineers gave their reasons in the Rust driver’s commit: “We’re generally not proponents of rewrites”, but Binder “combines/nests 13 different locks, 7 reference counters, and atomic variables”, and Rust “prevents mistakes with ref counting, locking, bounds checking”. The Rust driver came out at 5,500 lines against 5,800 for C, on their count.2
The Rust driver ran alongside C for 13 months before the C one was removed
Rust Binder in the Linux kernel, September 2025 to October 2026
Table view
Date
Event
Detail
19 Sept 2025
Rust Binder accepted
first shipped in Linux 6.18
13 Nov 2025
Google: first production Rust driver
Android's 6.12 kernel
16 Dec 2025
First Rust Binder CVE
in an unsafe block; fixed in 6.18.1
16 Sept 2026
C driver bug fixed
use-after-free write, found by fuzzing
24 Oct 2026
C Binder removed
Linux 7.4 merge
Source: Linux kernel commits; CVE record; Google · as of 24 October 2026
The TechBag Journal
Rust has limits its users record. The first CVE in the kernel’s Rust code, in December 2025, was in Rust Binder: a race inside an unsafe block that corrupted list pointers and crashed the kernel.7 About 4% of Android’s Rust sits in such blocks, and Google caught its first Rust memory-safety bug, in an image decoder, before release.5 Google’s 2024 finding is that “the problem is overwhelmingly with new code”, and that returns on rewrites “diminish over time as code gets older”.4
03What it means for a buyer
Nothing to switch or license. The C driver stays in every kernel up to 7.3, including the long-term branches device makers build on; 7.4 is the first without it.116 When a given phone runs Rust Binder depends on its maker’s kernel, which the buyer does not choose. What a fleet owner can see is the Android security patch level, and what a supplier can be asked for is the plan US agencies set out: build new product lines in memory-safe languages and publish a memory-safety roadmap for existing products by the end of 2025. CISA and the FBI call that voluntary, for products used in critical infrastructure.13
What to watch. The November Android Security Bulletin is due on Monday 2 November, under Google’s rule of the first Monday of each month.15 Google’s next annual memory-safety figure has no announced date; the last three came in December 2022, September 2024 and November 2025.345 Then Linux 7.4 itself, the first release with only the Rust driver: Linux 7.3 was released on 18 October.16
Disclosure. TechBag is a software reseller: it earns a margin when a reader buys through it, including from vendors named here. The analysis is TechBag’s own; no vendor paid for or saw this piece before publication. Facts are labelled reported, TechBag count or our view.