Read the docs

Out-of-bounds read in DevilutionX libmpq hash table lookup

Priority MEDIUM 63CWE-125Published · Updated

Key facts

Attack vector
Local
Privileges required
None
User interaction
Passive
Attack complexity
Low
Attack requirements
None
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
No fix listed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-125 and the CVSS impact.

Summary

DevilutionX 1.4.0 through 1.5.5 bundles libmpq, which contains an out-of-bounds read in its hash table lookup. The libmpq__file_number_from_hash function uses block_table_index values without checking them, so it reads heap memory past mpq_map (CWE-125). A local attacker can place a crafted .mpq archive, such as a mod, in the game's data path, and user interaction is needed to load it. The result is a crash of the game.

Written with Claude Haiku 5.5 from the sources below · 2026-11-05

Description from the CNA

DevilutionX 1.4.0 through 1.5.5 contains an out-of-bounds read vulnerability in the bundled libmpq libmpq__file_number_from_hash function that allows attackers to read heap memory via unchecked block_table_index values. Attackers can place a crafted .mpq archive in the game's data path, such as a mod, to trigger reads past mpq_map and crash the game.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00121 1st percentileScored 2026-11-07
Fix No fix listed No fixed version in the sources yet

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
diasurgicalDevilutionX1.4.0 – 1.5.5—No fix listedCNA
  • DevilutionX Vendordiasurgical Affected 1.4.0 – 1.5.5 Fixed in — No fix listed CNA

Remediation

The sources list no fixed version for DevilutionX.

Written with Claude Haiku 5.5 from the sources below · 2026-11-05

Timeline

  1. 2026-10-27 Threatist record created from CVE-2026-116841
  2. 2026-10-27 Alias added: GHSA-mqmm-g9r5-977r
  3. 2026-10-27 Priority changed: MEDIUM → LOW
  4. 2026-11-05 CISA SSVC decision points changed
  5. 2026-11-05 Priority changed: LOW → MEDIUM

References

  • TI-2026-81008 Heap buffer overflow in DevilutionX when opening crafted MPQ archives CVSS 4.0MEDIUM 6.9

Sources