Google has added a Rust-based DNS parser to Pixel modem firmware on Pixel 10 devices, using the memory-safe language to reduce risk in a core part of cellular communications and to limit exposure to memory-safety bugs.
KEY FACTS
- Device support The change is available on Pixel 10 devices.
- Security goal Google says the parser reduces risk in an area prone to vulnerabilities.
- Protocol choice DNS was selected because it underpins modern cellular communications.
- Implementation The company used the hickory-proto crate and a custom tool called cargo-gnaw.
In a technical disclosure from Google, the company said the Rust-based parser is meant to reduce an entire class of vulnerabilities in modem firmware. The disclosure also said the change helps lay the groundwork for broader use of memory-safe code in other low-level components.
Google has been hardening the cellular baseband modem for several years. The company previously highlighted Clang sanitizers to catch undefined behavior and later described modem firmware protections meant to help counter 2G exploits and baseband attacks that can lead to remote code execution.
The new parser is built around the DNS protocol because modern cellular services rely on it for basic functions, including call forwarding. Google said memory-unsafe implementations can expose users to out-of-bounds memory access, pointing to CVE-2024-27227 as an example.
To adapt the Rust code for embedded use, Google modified hickory-proto to support bare metal environments. It also said the crate brings in more than 30 dependencies, which it manages with cargo-gnaw, and noted that extra feature flags could help trim code size on memory-constrained systems.
Google said the DNS response parsing API was declared in C and implemented in Rust, with existing C functions still used to update in-memory data structures tied to the original implementation.
WHY IT MATTERS
The change brings memory-safe code into a part of the modem that sits close to the network edge, where flaws can have serious security consequences. It also shows how Rust is being used beyond Android software and into firmware components that help handle cellular traffic.

