Skip to main content

SimulationCraft EUVDEUVD-2026-112147

| CVE-2026-47235 HIGH
Heap-based Buffer Overflow (CWE-122)
2026-10-28 GitHub_M
7.5
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Supply malicious .simc profile or MITM Battle.net response
  2. Delivery
    Include more than four socket entries
  3. Exploit
    Overflow gem_id into gem_bonus_id vector pointer
  4. Execution
    item_t destructor frees attacker-controlled pointer
  5. Impact
    Heap manipulation yields code execution

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Heap buffer bounds checking
MITRE ATT&CK

1 technique across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that SimulationCraft parse attacker-controlled gear JSON in which a single equipped item's 'sockets' array contains more than four entries, triggering the unbounded loop in bcp_api.cpp that writes past the four-element gem_id/gem_bonus_id arrays (MAX_GEM_SLOTS=4). The malicious data must reach the parser via one of three paths: a crafted .simc profile with an [[equipment]] section fed to a local install or a service hosting SimulationCraft, a compromised WoW addon export, or an attacker in a privileged network position tampering with Battle.net API responses. LIMITING FACTORS: affected only in builds after release-820-01 and before the May 7, 2026 nightly (fixed in simc-1205-01-516b5d7); the victim or service must actually import and process the attacker-supplied profile/response; while the overflow and crash are reliable, turning it into reliable code execution requires heap grooming and control of the freed pointer (reflected in AC:H/AT:P). The crash itself is trivially reproducible from the published JSON PoC.

Impact

This is a genuine memory-corruption flaw (CWE-122/787) confirmed by the vendor's own GitHub Security Advisory (GHSA-wc9c-hfh3-phxx) and closed by fix commit aff85992, with a public crash-reproducing JSON PoC and a controlled free demonstrated via SIGSEGV. However, several signals temper real-world urgency. There is no CISA KEV listing (so 'confirmed actively exploited' does not apply) and no EPSS score was provided, so widespread-exploitation probability cannot be quantified from the data. The supplied CVSS 4.0 vector (7.5, High) models AV:A/AC:H/AT:P/PR:N/UI:P - unauthenticated but requiring adjacent position, elevated attack complexity, a special attack requirement, and passive user interaction - which is consistent with the Battle.net-API MITM scenario but does not capture the more realistic delivery path (a victim importing an attacker-supplied .simc profile), which is better modeled as a local vector. The vuln.today decision label is 'this_week', not act_now/emergency, which aligns with the gating conditions and the product's non-enterprise footprint. Net: a real, well-evidenced bug worth patching promptly, but SimulationCraft is a WoW theorycrafting desktop/hosted tool rather than critical infrastructure, so this is a legitimate but moderate priority rather than a drop-everything emergency. Conflict to verify: CVSS AV:A (adjacent) understates the file-import path and overstates the network path - the dominant exposure for most users is loading a malicious profile, not a privileged MITM.

Exploit ScenarioDerived

An attacker crafts a malicious .simc profile with an [[equipment]] section containing a gear item whose JSON 'sockets' array holds more than four entries (or MITMs a Battle.net API response to inject them); when a victim or a hosting service imports and parses it, the unbounded loop writes past gem_id[3] into the adjacent gem_bonus_id vector's _M_start pointer, and the item_t destructor then frees an attacker-controlled pointer during normal cleanup. The advisory reports this was taken from crash to code execution in a testing environment. A crash-reproducing JSON PoC is public; full working RCE exploit code is not published (the reporter is withholding it pending a blog post).

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 28, 2026

Heap-based out-of-bounds write in SimulationCraft builds after release-820-01 and before the May 7, 2026 nightly, fixed in simc-1205-01-516b5d7, allows attacker-controlled gear JSON with more than four socket entries to overflow the four-element gem_id array and corrupt adjacent gem_bonus_id vector storage. The vendor advisory reports crashes and demonstrated code execution in a testing environment, but assessed exploitation requires the victim or hosted service to import malicious .simc profile data, a compromised addon export, or tampered Battle.net API responses, with high attack complexity and user interaction; a public crash-reproducing JSON PoC exists, and no CISA KEV entry or confirmed active exploitation is reported.

RemediationAI

Update SimulationCraft to the simc-1205-01-516b5d7 nightly or any later build containing commit aff85992d284ca4621e784c6b065a271b22f629d; the advisory notes no containing release tag is available, so release-820-01 and intervening builds remain vulnerable unless patched or backported. The fix bounds the sockets loop to MAX_GEM_SLOTS (four), and the commit also bounds the bonusStats and socket_color loops. Until updated, avoid importing untrusted .simc profiles or addon exports, and do not rely on Battle.net API responses from untrusted network positions; for hosted SimulationCraft services, run parsing with least privilege and isolate the process because the corrupt free can become code execution. See GHSA-wc9c-hfh3-phxx and commit aff85992d284ca4621e784c6b065a271b22f629d.

Affected VersionsENISA

simc < aff85992d284ca4621e784c6b065a271b22f629d

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

SimulationCraft is a C++ World of Warcraft combat simulation tool that parses gear/item data from JSON via rapidjson in engine/interfaces/bcp_api.cpp. The parser stores gem IDs in std::array<int, MAX_GEM_SLOTS> gem_id and gem bonus IDs in std::array<std::vector<unsigned>, MAX_GEM_SLOTS> gem_bonus_id in engine/item/item.hpp, with MAX_GEM_SLOTS=4 defined in engine/sc_enums.hpp. The vulnerable loop uses slot_data["sockets"].Size() as the upper bound without checking gem_idx < MAX_GEM_SLOTS, so a fifth and later socket entry writes past gem_id into the adjacent gem_bonus_id vector control block; the advisory notes this can corrupt a vector's _M_start pointer and cause the item_t destructor to free an attacker-influenced pointer during normal cleanup. This is CWE-122/CWE-787 heap-based buffer overflow/out-of-bounds write. The fix commit aff85992 bounds the socket loop with std::min(MAX_GEM_SLOTS, sockets.Size()) and also bounds the bonusStats and socket_color loops.

Know when Simc gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.5 HIGH
CVSS:4.0/AV:A/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:L/SI:L/SA:L
vuln.today AI 7.0 HIGH

Dominant vector is a victim importing an attacker-supplied profile, so AV:L/UI:R; no auth (PR:N); reliable RCE needs heap control (AC:H); in-process code execution gives C/I/A:H.

3.1 AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:L/AC:H/AT:P/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Adjacent
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
Low

DescriptionCVE.org

SimulationCraft is a tool to explore combat mechanics in World of Warcraft. In builds after release-820-01 and before the identified May 7, 2026 nightly, the bcp_api.cpp loop over the JSON sockets array uses slot_data["sockets"].Size() without bounding gem_idx by MAX_GEM_SLOTS, which is four in engine/sc_enums.hpp. The destination gem_id and gem_bonus_id arrays in engine/item/item.hpp have only four elements. More than four socket entries therefore write beyond gem_id into the adjacent gem_bonus_id vector storage; bonus_list entries can also access gem_bonus_id out of bounds. Corrupting a vector's _M_start pointer causes the item_t destructor to free an attacker-influenced pointer during normal cleanup. The advisory reports crashes and code execution demonstrated in a testing environment. Attack inputs can arrive through a malicious .simc profile with a [[equipment]] section, a compromised addon export, or Battle.net API responses modified by an attacker with a privileged network position. The fix is contained in the nightly build identified as simc-1205-01-516b5d7; no containing release tag is available.

Technical POC Analysis

Heap-based out-of-bounds write (CWE-122; advisory also lists CWE-787) in the socket-parsing loop in bcpapi.cpp, lines 676-701.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

CVE-2026-47235 is a high-severity heap overflow in SimulationCraft that could allow an attacker to execute code on systems that import malicious simulation profiles. While exploitation requires user interaction and high attack complexity, the demonstrated code execution in testing highlights a credible risk to any team or service relying on SimulationCraft for gear optimization, potentially leading to unauthorized access or data compromise.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

Prevalence
Low
popular WoW theorycrafting desktop tool, niche gaming use, no enterprise footprint
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Controlled
Automatable· derived
No
Human Impact
Medium

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

A heap overflow occurs when a program writes data beyond the bounds of a buffer allocated in the heap memory region.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy