What is the Chrome V8 JavaScript Engine?
V8 is Google's open-source JavaScript and WebAssembly engine, used in Google Chrome, Microsoft Edge, Opera, and virtually all Chromium-based browsers, as well as Node.js on the server side. V8 compiles JavaScript just-in-time (JIT) to native machine code for performance, managing complex object graphs, array layouts, and memory using its own garbage collector. V8's performance optimizations introduce complex type and memory state that can lead to memory corruption vulnerabilities — out-of-bounds writes, type confusions, and use-after-frees — which are particularly valuable for browser exploitation because V8 is directly accessible from any webpage's JavaScript.
Overview
CVE-2024-4761 is a zero-day out-of-bounds memory write vulnerability in the Chrome V8 JavaScript engine that allows an unauthenticated attacker to achieve remote code execution via a crafted web page. Google patched it on May 13, 2024 with Chrome 124.0.6367.207/.208 — just one week after patching CVE-2024-4671 (another Chrome zero-day, an object-out-of-bounds in Visuals). The close timing of two Chrome zero-days suggests either a sophisticated actor with access to multiple Chrome exploits or a single exploit chain involving both bugs. CISA added CVE-2024-4761 to the KEV catalog on May 16, 2024. The vulnerability was reported by an anonymous researcher.
Affected Versions
| Browser | Vulnerable | Fixed |
|---|---|---|
| Google Chrome | < 124.0.6367.207 (Windows/Mac) / 124.0.6367.207 (Linux) | 124.0.6367.207/.208 |
| Microsoft Edge | Chromium-based versions prior to corresponding patch | Apply Edge update |
| Other Chromium browsers | All versions prior to patch | Apply vendor-specific update |
Technical Details
CWE-787 (Out-of-Bounds Write). The V8 engine contains a memory write operation that does not properly validate array or buffer bounds before writing. In JavaScript engines, OOB writes typically arise from JIT compiler optimizations that make incorrect assumptions about array sizes or object layouts — the JIT emits code that skips a bounds check because it "knows" (incorrectly) that the index is in-range. By crafting JavaScript that triggers this specific execution path, an attacker can write data past the end of a V8 heap object into adjacent memory.
The exploitation sequence for a V8 OOB write:
- Use the OOB write to corrupt adjacent V8 heap metadata (e.g., array length fields or typed array buffer pointers).
- Use the corrupted metadata to achieve arbitrary read/write over the V8 heap.
- Use heap read/write to corrupt the JIT code page or function pointer to redirect execution.
- Execute shellcode or ROP chain in the renderer process context.
In a full exploit chain, this renderer-process code execution is then paired with a sandbox escape (such as a separate kernel LPE) to gain full OS access.
Discovery
Reported to Google by an anonymous researcher. Google's description "Google is aware that an exploit for CVE-2024-4761 exists in the wild" confirms active exploitation at the time of disclosure. The anonymity of the reporter is consistent with the bug being discovered through active exploit chain analysis rather than bounty research.
Exploitation Context
Chrome V8 zero-days are among the most valuable browser vulnerabilities because Chrome's renderer sandbox is the first barrier to full system compromise; defeating V8 provides arbitrary code execution inside the sandbox, which is then typically chained with a sandbox escape for complete device compromise. Two V8/Chromium zero-days in a single week (CVE-2024-4671 on May 9 and CVE-2024-4761 on May 13) indicates either a threat actor with redundant exploit inventory or a coordinated disclosure of a multi-step chain. Chrome zero-days at this severity are typically used in: nation-state watering hole attacks, commercial spyware (Pegasus-style), and high-end targeted phishing campaigns.
Remediation
- Update Google Chrome to version 124.0.6367.207 or later — Chrome updates automatically but users should verify via Chrome menu → Help → About Google Chrome.
- Update Microsoft Edge, Opera, Brave, and any other Chromium-based browsers to their corresponding patched versions.
- Enable automatic browser updates in enterprise environments via Group Policy or MDM to reduce the window between patch release and deployment.
- Consider deploying Chrome enterprise policies that restrict navigation to untrusted or unknown domains for high-risk user populations.
- Deploy browser isolation (Remote Browser Isolation) for users who regularly visit external or untrusted web content as an additional defense layer against zero-day browser exploits.
Key Details
| Property | Value |
|---|---|
| CVE ID | CVE-2024-4761 |
| Vendor / Product | Google — Chromium V8 |
| NVD Published | 2024-05-14 |
| NVD Last Modified | 2025-12-23 |
| CVSS 3.1 Score | 8.8 |
| CVSS 3.1 Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| Severity | HIGH |
| CWE | CWE-787 find similar ↗ |
| CISA KEV Added | 2024-05-16 |
| CISA KEV Deadline | 2024-06-06 |
| Known Ransomware Use | No |
CVSS 3.1 Breakdown
Required Action
Timeline
| Date | Event |
|---|---|
| 2024-05-13 | Google releases Chrome 124.0.6367.207/.208 patching CVE-2024-4761 as a zero-day (second Chrome zero-day in one week) |
| 2024-05-16 | Added to CISA Known Exploited Vulnerabilities catalog |
| 2024-06-06 | CISA BOD 22-01 remediation deadline |
References
| Resource | Type |
|---|---|
| Chrome Stable Channel Update — May 13, 2024 (CVE-2024-4761) | Vendor Advisory |
| NVD — CVE-2024-4761 | Vulnerability Database |
| CISA KEV Catalog Entry | US Government |