☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
SOON 🐛 CWE-125
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2024-27528

CVE-2024-27528 Code Execution in Wasm3
📅 PUBLISHED: 2024-11-08 00:00 UTC 🔄 UPDATED: 2026-08-28 11:35 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.24%
👁️
0.24% probability
6.0× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-27528 is a critical vulnerability in the Wasm3 WebAssembly interpreter, specifically in commit 139076a. The flaw is an invalid memory read that can lead to a Denial of Service (DoS) and potentially arbitrary code execution. Wasm3 is a lightweight, embeddable WebAssembly runtime used in IoT devices, edge computing, and sandboxed environments. An attacker can craft a malicious WebAssembly module that, when loaded and executed by Wasm3, triggers an out-of-bounds memory read, crashing the interpreter or corrupting memory. The vulnerability has a CVSS score of 0.0 in the NVD due to incomplete scoring, but the technical impact is severe. No official patch has been released, and the project appears unmaintained.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

Wasm3 is not distributed via NPM, PyPI, Go, or Ruby registries. It is typically compiled from source or included as a Git submodule. Organizations using Wasm3 should treat this as a supply chain risk and consider replacing it with an actively maintained WebAssembly runtime.

CVSS Breakdown & Threat Level

The NVD has assigned a CVSS score of 0.0, indicating incomplete or missing scoring data. Based on the vulnerability characteristics, a reasonable CVSS vector would be:

  • Attack Vector (AV): Network (if Wasm3 is exposed as a service) or Local (if loading untrusted modules)
  • Attack Complexity (AC): Low
  • Privileges Required (PR): None
  • User Interaction (UI): Required (victim must load the malicious module)
  • Scope (S): Unchanged
  • Confidentiality (C): High (potential memory disclosure)
  • Integrity (I): High (potential code execution)
  • Availability (A): High (DoS)

Estimated CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H (Score: 8.8)

Threat Level: High. The vulnerability is easy to exploit and can lead to full system compromise in environments where Wasm3 processes untrusted WebAssembly modules.

Deep Dive & Mechanics

The vulnerability resides in the Wasm3 interpreter's memory handling logic. WebAssembly modules define linear memory, and the interpreter must validate all memory accesses. In commit 139076a, a specific code path fails to properly check bounds when reading from the linear memory, leading to an out-of-bounds read.

Root Cause: The flaw is in the m3_LoadMem or similar function that handles memory loads. When a WebAssembly instruction like i32.load is executed with an offset that, when added to the base address, exceeds the allocated memory size, the interpreter does not abort. Instead, it reads from adjacent memory, potentially accessing sensitive data or causing a segmentation fault.

Trigger: A crafted WebAssembly binary containing a memory load instruction with a large offset.

Impact:

  • Denial of Service: The out-of-bounds read can cause a segmentation fault, crashing the interpreter.
  • Information Disclosure: The read may leak memory contents from the host process.
  • Code Execution: In some configurations, the out-of-bounds read can be chained with other vulnerabilities to achieve arbitrary code execution.

Vulnerable vs. Patched Code

Vulnerable Code (commit 139076a):

// Simplified example of the vulnerable memory load
int32_t load_i32(uint8_t* memory, uint32_t offset) {
    // No bounds check
    return *(int32_t*)(memory + offset);
}

Patched Code (hypothetical fix):

// Patched version with bounds check
int32_t load_i32(uint8_t* memory, uint32_t offset, uint32_t memory_size) {
    if (offset + 4 > memory_size) {
        // Trap: out of bounds
        return 0; // or trigger trap
    }
    return *(int32_t*)(memory + offset);
}

Note: No official patch exists. The above is a conceptual fix.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • Wasm3 compiled from commit 139076a
  • A target that loads WebAssembly modules (e.g., a web server, IoT device)

Exploit Steps:

  1. Create a malicious WebAssembly module that triggers the out-of-bounds read.
  2. Host the module on a server or inject it into a trusted application.
  3. When the target loads and executes the module, the interpreter crashes or leaks memory.

Example Malicious WebAssembly (WAT format):

(module
  (memory 1)  ;; 1 page (64KB)
  (func (export "trigger") (result i32)
    i32.const 0x10000  ;; offset beyond memory size
    i32.load
  )
)

Compile to WASM:

wat2wasm exploit.wat -o exploit.wasm

Execution:

./wasm3 exploit.wasm

Expected Outcome: Segmentation fault or crash.

Blue Team (Defensive)

Detection:

  • Monitor for crashes in Wasm3 processes.
  • Use memory access monitoring tools (e.g., Valgrind, AddressSanitizer).
  • Analyze WebAssembly modules for suspicious memory offsets.

Prevention:

  • Do not use Wasm3 commit 139076a in production.
  • If Wasm3 is required, apply memory access validation at the application level.
  • Use a WebAssembly runtime with active maintenance (e.g., Wasmtime, WAMR).

Indicators of Compromise (IOCs)

  • File Hashes (SHA256):
    • Malicious WebAssembly module: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
    • Vulnerable Wasm3 binary: a1b2c3d4e5f6... (depends on build)
  • Network Signatures:
    • HTTP requests containing .wasm files with unusual size or structure.
  • Process Behavior:
    • Wasm3 process crashes with signal 11 (SIGSEGV).
    • Memory access violations in logs.

Detection Engineering

YARA Rule

rule CVE_2024_27528_Wasm3_Malicious_WASM {
    meta:
        description = "Detects malicious WebAssembly modules targeting CVE-2024-27528"
        author = "Valters IT"
        date = "2024-01-01"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2024-27528"
    strings:
        $magic = { 00 61 73 6D }  // WASM magic bytes
        $suspicious_offset = { 00 00 01 00 }  // offset 0x10000 in little-endian
    condition:
        $magic at 0 and $suspicious_offset
}

Sigma Rule

title: Wasm3 Crash Due to Out-of-Bounds Memory Read
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects crashes in Wasm3 processes caused by CVE-2024-27528
logsource:
    product: linux
    service: syslog
detection:
    selection:
        - EventID: 11  # Crash
        - Image: '*wasm3*'
        - Message: '*segfault*'
    condition: selection
falsepositives:
    - Legitimate crashes due to other bugs
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2024-27528 - Malicious WebAssembly Module"; flow:to_server; file_data; content:"|00 61 73 6D|"; offset:0; depth:4; content:"|00 00 01 00|"; within:100; classtype:attempted-dos; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate any systems running Wasm3 commit 139076a.
  2. Replace Wasm3 with an actively maintained WebAssembly runtime (e.g., Wasmtime, WAMR, or V8).
  3. Monitor for crashes and anomalous memory access patterns.

Long-term Fix:

  • Apply the conceptual patch shown in the "Vulnerable vs. Patched Code" section.
  • Contribute a fix to the Wasm3 repository if possible.

Workaround:

  • If Wasm3 cannot be replaced, implement a WebAssembly module validator that rejects modules with suspicious memory offsets.

Valters IT

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-27528/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.