SimulationCraft: Heap-Based Buffer Overflow / Out-of-Bounds Write in SimulationCraft's gem_id Array
Impact
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…
Source excerpt · GitHub_MAffected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
simulationcraft · GitHub_M
simc
1 range
simulationcraft · GitHub_M
simc
Compare with this publisher’s ranges. This does not inspect your installation.
affected
< aff85992d284ca4621e784c6b065a271b22f629d
Other versions: unknown
Original source description
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.
Inside the record
Evidence available
Describes the evidence in this view, not whether the product is safe.
Original records
CVE-2026-47235View the latest unmodified CVE JSON from the official source. It may be newer than this imported page.
cve.new JSON →Underlying weaknesses
The source’s classification of what caused the vulnerability.
Contributing organizations · 2
Assigning organization
Additional data publisher
What changed
Follow changes- CVE · CVE-2026-47235
Observed 2026-10-29T18:54:11.351Z · upstream updated 2026-10-29T18:38:47.642Z
Prioritization updated
before
[]
after
[ { "source": "CISA-ADP", "type": "SSVC", "role": "CISA Coordinator", "timestamp": "2026-10-29T18:38:11.836574Z", "decisions": [ { "name": "Exploitation", "value": "poc" }, { "name": "Automatable", "value": "no" }, { "name": "Technical Impact", "value": "total" } ] } ]
Large field values are marked as truncated previews. Original source snapshots remain retained.
Showing up to 50 most recent observed changes.