Researchers from Google Project Zero have thoroughly analyzed a technique for creating a working exploit that allows remote code execution with Linux kernel privileges by sending an SMS or RCS message containing a specially crafted audio attachment. The attack occurs without any action from the user, including not requiring them to view or listen to the received message.
The exploit involves two vulnerabilities: in the Dolby Unified Decoder library (CVE-2025-54957) and in the bigwave driver for the Linux kernel (CVE-2025-36934). Previously, exploiting vulnerabilities in codecs required the user to listen to or view the received malicious content. With the integration of AI assistants in recent Android firmware releases, the received multimedia content is automatically decoded upon receipt, significantly increasing the attack surface without user actions (0-click). In the context of audio SMS and RCS messages, the Google Messages app uses the com.google.android.tts service to automatically generate a transcript for applying to audio messages for text searches, enabling vulnerability exploitation in existing audio codecs without user involvement.
The issue in the Dolby Unified Decoder is caused by an integer overflow when calculating the buffer size for processed syncframe data structures, which can be exploited to write beyond the allocated buffer. As a result of the overflow, a pointer used in the processing of the next sync frame can be overwritten, allowing the attacker to inject controlled data and potentially execute their own code with 'mediacodec' privileges, which are constrained by SELinux.
For exploiting the Linux kernel, a vulnerability in the bigwave driver, responsible for handling the character device /dev/bigwave, was leveraged, which was accessible from the SELinux context 'mediacodec'. This vulnerability allowed overwriting kernel structures through manipulations with the ioctl call BIGO_IOCX_PROCESS, achieving code execution with kernel privileges.
A vulnerability in the Dolby Unified Decoder library (libcodec2_soft_ddpdec.so), which provides functionalities for decoding Dolby Digital (DD, AC-3) and Dolby Digital Plus (DD+, EAC-3) formats, is not specific to Android or the firmware for Pixel 9, and also manifests on other platforms (Samsung S24, MacBook Air M1, iPhone 17 Pro, Windows, ChromeOS, etc.). In the Android AOSP repository and the firmware for Samsung S24, a seccomp syscall filter is applied to processes running in the context of mediacodec, making further exploitation of vulnerabilities in the kernel more difficult. Such a filter was absent in the firmware for Pixel 9. attacks could be mitigated by the Memory Tagging mechanism (MTE), but it is available for Pixel 8+ devices only as an option, activated when enabling the 'Advanced Protection' mode. In macOS and iOS, exploitation is complicated by building the library with the '-fbounds-safety' flag, which adds additional checks for array bounds that diminish performance.
Researchers are separately addressing issues related to the delivery of the vulnerability fix for the Dolby Unified Decoder to users. Information about the vulnerability was disclosed publicly 82 days before the fix was delivered to Pixel device users. Dolby was informed of the issue on June 26, 2025. The first binary fix was released on September 18 for ChromeOS, but for Android devices, Dolby provided binary patches only on October 8. On October 15, information about the vulnerability was publicly disclosed. Samsung released a fix on November 12, and only on January 5 was a fix published for Pixel devices. The distribution of the patch for all Android devices took 139 days.
A vulnerability in Dolby Unified Decoder was identified in less than two days, while in the BigWave driver — in under a day of review. The development effort to create a working exploit for the vulnerability in Dolby Unified Decoder is estimated at 8 weeks with one researcher, and for BigWave — 3 weeks. In a report published on October 14, Dolby marked the vulnerability in Dolby Unified Decoder as having a low level of risk, despite sharing details about the developed exploit. The vulnerabilities in BigWave were assigned a moderate risk level in Android, justified by the fact that the attack is possible only from privileged content and is not accessible from unprivileged contexts (three months later, the status of the vulnerability was changed to 'critical issue').
Source: opennet.ru
