A high-severity security flaw in Google Chrome for Android, tracked as CVE-2026-10923, was disclosed by the National Vulnerability Database on June 4, 2026. The vulnerability, a use-after-free bug in the WebAppInstalls component, allows remote attackers to execute arbitrary code or cause a denial of service by exploiting heap corruption. Google has already patched the issue in Chrome for Android version 149.0.7827.53 and later.
Users running older versions of the browser are at risk, especially if they frequently visit websites that prompt installation of Progressive Web Apps (PWAs). Attackers can craft malicious pages to trigger the flaw when a user interacts with an install prompt, potentially gaining control over the device.
This article breaks down the technical details of CVE-2026-10923, explains how use-after-free vulnerabilities work in the PWA installation flow, and provides actionable steps to secure your device.
What is CVE-2026-10923 and Why Does It Matter?
CVE-2026-10923 is a use-after-free vulnerability in the WebAppInstalls feature of Google Chrome for Android. The NVD’s CVSS v3.1 base score has not yet been assigned, but the severity is listed as “HIGH,” indicating a serious risk to confidentiality, integrity, and availability.
The flaw resides in how Chrome manages memory when handling PWA installation prompts. A use-after-free occurs when a program continues to reference memory after it has been freed, leading to unpredictable behavior, crashes, or arbitrary code execution.
In this specific case, an attacker can create a website that triggers the installation flow for a malicious PWA. By carefully manipulating timing and memory layout, they can cause Chrome to reuse freed memory containing attacker-controlled data. That can hijack the browser’s process, potentially escaping the sandbox—though sandboxing adds a layer of difficulty.
Chrome for Android is the default browser on billions of devices, making this a high-impact vulnerability. While there are no public reports of active exploitation, the NVD disclosure suggests that the bug was reported responsibly and fixed before widespread abuse.
Technical Breakdown: Use-After-Free in WebAppInstalls
Use-after-free bugs are a classic memory safety issue in C++ codebases like Chromium. The WebAppInstalls component manages the user interface and logic for installing web apps on Android. When a site offers a PWA, Chrome shows a dialog or bottom sheet prompting the user to add the shortcut to the home screen.
During this flow, Chrome creates, uses, and destroys multiple objects in memory. If an object is freed while a pointer to it still exists, and then the memory is reallocated for another object, an attacker can corrupt the new object via the stale pointer.
CVE-2026-10923 likely involves a race condition or a logic error where a callback or event handler retains a reference to a freed object. For example, if the install prompt is dismissed while a background task is still referencing its UI components, a use-after-free could occur.
Attackers can trigger this remotely by luring a victim to a specially crafted website. The site can repeatedly attempt to initiate an install, using features like beforeinstallprompt event interception to manipulate timing. No user interaction beyond a single click on the install button may be required, though more sophisticated exploits might chain the bug with other techniques.
The PWA Angle: When Web Apps Bite Back
Progressive Web Apps have become a cornerstone of modern mobile web development. On Android, Chrome’s PWA support allows websites to be installed as app-like experiences with their own icons, splash screens, and even offline capabilities. This convenience increases the attack surface, as privileged features like install prompts and service workers run in the browser context.
CVE-2026-10923 highlights how PWA installation flows—typically considered benign—can become attack vectors. The WebAppInstalls API must handle complex state transitions, and any misstep in memory management can lead to exploitable conditions.
Notably, this bug is specific to Android. Chrome on iOS uses WebKit, which may not share the same code for PWA installations. Desktop versions of Chrome also support PWA installs but through a different UI path, so they may not be affected. However, CVE descriptions often lack platform granularity. Users should still update Chrome on all platforms as a precaution.
The Fix: Update to Chrome for Android 149.0.7827.53 or Later
Google released the patch for CVE-2026-10923 as part of the Chrome 149 Stable channel update. The version string for the fixed Android build is 149.0.7827.53. This update likely includes additional security fixes and stability improvements.
To check your Chrome version on Android, open the browser, tap the three-dot menu, go to Settings > About Chrome. If an update is available, the browser will automatically download and prompt you to restart.
Users with auto-update enabled typically receive patches within days of release. However, enterprise environments or devices with restricted network access may lag behind. IT administrators should push updates through managed Google Play if necessary.
Mitigation Steps for Unpatched Devices
If you cannot immediately update Chrome, consider these temporary mitigations:
- Disable PWA install prompts: While not easily done without modifying flags, you can avoid tapping “Install” on unfamiliar websites. Attackers may attempt social engineering, so remain cautious.
- Use an alternative browser: Switch to a different browser that doesn’t share the same Chromium base, like Firefox for Android, until you can update Chrome.
- Enable Play Protect: Google Play Protect scans for potentially harmful apps and phishing links. Keep it enabled in Settings > Security.
- Avoid untrusted sites: Steer clear of suspicious URLs and never grant unnecessary permissions to web apps.
These measures reduce risk but do not eliminate it, as drive-by attacks that require no install interaction are theoretically possible if the bug can be triggered differently.
The Bigger Picture: Chrome Memory Safety in 2026
CVE-2026-10923 is one of many use-after-free bugs discovered in Chromium each year. Despite Google’s ongoing investments in memory safety—including the adoption of MiraclePtr, PartitionAlloc hardening, and exploring Rust adoption—complex C++ codebases remain susceptible.
Google’s Project Zero and external security researchers regularly report such issues, and the Chrome team maintains an aggressive six-week release cycle to ship fixes quickly. The disclosure timeline for CVE-2026-10923 suggests that the bug was reported confidentially, patched, and then publicly disclosed in coordination with the NVD.
For Android users, this vulnerability underscores the importance of timely updates. Unlike iOS, where browser engines are system components, Android allows independent Chrome updates via the Play Store, enabling faster patch delivery.
How to Stay Ahead of Chrome Vulnerabilities
- Enable automatic updates in Google Play: Go to Play Store settings and ensure “Auto-update apps” is set to over Wi-Fi or any network.
- Monitor security bulletins: Google publishes Chrome release notes and Android Security Bulletins monthly. The Chrome Releases blog is the primary source.
- Reduce attack surface: Disable JavaScript on untrusted sites, use content blockers, and consider enabling Chrome’s “Enhanced Safe Browsing” for proactive protection.
- For developers: PWA implementations should follow secure coding practices and regularly test with AddressSanitizer or MemorySanitizer to catch memory errors early.
End users play a critical role by simply keeping software current. With Chrome’s seamless update mechanism, there’s little excuse to remain vulnerable.
CVE-2026-10923 serves as a reminder that even mature, widely reviewed code can harbor dangerous flaws. By updating to Chrome 149.0.7827.53 or later, Android users can close this hole and continue enjoying the benefits of Progressive Web Apps safely.