Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious MPQ archive (block count > hash count)
-
DeliveryPlace archive where DevilutionX loads data
-
ExploitVictim launches DevilutionX 1.4.0-1.5.5
-
Executionlibmpq__archive_dup memcpy overflows heap
-
ImpactGame crashes at startup (DoS)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, write limits
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the victim to launch DevilutionX (versions 1.4.0 through 1.5.5) while a crafted MPQ archive is present in the data the engine loads at startup - specifically an archive whose block table count is larger than its hash table count, which drives the overflowing memcpy inside the bundled libmpq's libmpq__archive_dup routine. Limiting factors that reduce real-world risk: the attack vector is local (AV:L), so the attacker must first get the malicious MPQ file onto the victim's system; the victim must then run the game, i.e. passive user interaction is required (UI:P); only the vulnerable version range 1.4.0-1.5.5 is affected; and the observed outcome is a startup crash (availability/DoS), with no confidentiality impact and no demonstrated arbitrary code execution. |
| Impact | This is a genuine but low-urgency issue that the signals consistently agree on - there is no high-CVSS/low-real-risk tension here, and in fact the CVSS 4.0 score is already only medium (6.9). The vector is CVSS:4.0/AV:L (local) with AT:N/AC:L/PR:N/UI:P, and the sole meaningful impact is availability (VA:H) - the heap buffer overflow in libmpq__archive_dup crashes the game at startup; VC:N and VI:L mean no confidentiality loss and at most minor integrity impact, with no demonstrated code execution. EPSS is very low (0.13%, 3rd percentile) and the CVE is NOT in CISA KEV, so there is no evidence of active exploitation; exploitation status is best described as: a public technical writeup/PoC reference exists (hackmd analysis plus VulnCheck advisory) but it is not verified as working weaponized exploit code. The vuln.today decision label is 'this_month' (not act_now/emergency), matching the picture of a locally-triggered denial-of-service in a niche game rather than a widespread remote threat. Net: real and worth patching this month, but low real-world risk - local vector, user must launch the game against a crafted archive, and impact is a crash rather than compromise. |
| Exploit ScenarioDerived | An attacker crafts a malformed MPQ archive whose block table count exceeds its hash table count and gets it onto a victim's system in place of (or alongside) the game data DevilutionX loads. When the victim launches DevilutionX 1.4.0-1.5.5, the bundled libmpq's libmpq__archive_dup routine performs a memcpy that overruns the heap, crashing the game on startup (local vector, passive user interaction). A public technical writeup and vendor advisory describe the flaw, but no verified working exploit code beyond a crash PoC is confirmed, and only a denial-of-service (not code execution) has been demonstrated. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Heap-based buffer overflow in DevilutionX 1.4.0 through 1.5.5 corrupts memory when the engine loads a crafted MPQ archive whose block table count exceeds its hash table count, overflowing a memcpy inside the bundled libmpq libmpq__archive_dup routine during startup; the confirmed outcome is a crash of the game (availability impact, no confidentiality impact and no demonstrated code execution). Exploitation is local: an attacker must first place the malicious archive in the game data the engine reads at startup, and the victim must then launch the game, so passive user interaction is required and no privileges are needed on the victim side. The issue is rated medium (CVSS 4.0 6.9, independently assessed CVSS 3.1 AV:L/AC:L/PR:N/UI:R with A:H only), EPSS is 0.13% (3rd percentile), it is not in CISA KEV, and no confirmed public exploit code has been identified at time of analysis - the only public material is a technical write-up. Priority guidance places it at this_month rather than emergency.
RemediationAI
Vendor-released patch: a fix is available per the vendor, delivered through upstream pull request https://github.com/diasurgical/DevilutionX/pull/8482 (which reworks the bundled third-party archive code); because no tagged release version containing the fix is independently confirmed in the available data, verify that the build or release you deploy includes PR #8482, and move off the 1.4.0-1.5.5 range. Check the project issue https://github.com/diasurgical/DevilutionX/issues/8758 and the advisory https://www.vulncheck.com/advisories/devilutionx-1.4.0-through-1.5.5-heap-buffer-overflow-via-libmpq-archive-dup for the release that carries the fix. Until an updated build is in place, the practical control is to avoid feeding untrusted MPQ archives to the engine: only launch DevilutionX against game data and mod archives obtained from a trusted source, and scan or quarantine archives shipped alongside the game before startup - the trade-off is that unsigned third-party mods and custom MPQ content can no longer be used. Note that the observed impact is a startup crash, so the residual risk of deferring the update is limited to availability disruption of the local game session.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
MPQ is Blizzard's archive container format, and libmpq is a small standalone library for reading it; DevilutionX, the open-source reimplementation of Diablo, vendors libmpq under 3rdParty/libmpq to load the game's data files at startup. The archive header advertises counts for a hash table and a block table, and libmpq__archive_dup copies table data with memcpy sized from those header fields; when the block table count is larger than the hash table count, the copy writes past the end of the allocated heap buffer (CWE-787, out-of-bounds write). The vulnerable surface is the archive parser reached before any gameplay, so the fault triggers while the engine is initializing, which is why the observed effect is a startup crash rather than a persistent compromise. The CPE cpe:2.3:a:diasurgical:devilutionx:*:*:*:*:*:*:*:* covers the affected application, and the fix reference is an upstream pull request (PR #8482) whose diff removes vendored third-party code (3rdParty/PKWare build files and submodule entries), consistent with reworking how the bundled archive/decompression code is built. The trigger for the overflow is an attacker-supplied file rather than a network protocol, and the sources do not describe any path to controlled code execution.
Know when Devilutionx 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
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N
Attacker must supply a crafted archive to the locally-run game (AV:L, UI:R, PR:N); the only demonstrated impact is a startup crash, so C:N/I:N and A:H.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
DevilutionX 1.4.0 through 1.5.5 contains a heap buffer overflow vulnerability in the bundled libmpq libmpq__archive_dup routine when opening crafted MPQ archives. Attackers can supply an MPQ archive whose block table count exceeds its hash table count, causing memcpy to overflow the heap during startup and crash the game.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
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.
Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.
EUVD-2026-110573
GHSA-g75x-vcw6-3m3f
NVD
CVE.org
EPSS
Exploit-DB