{"id":"CVE-2026-116841","published":"2026-10-27T01:19:07.393","lastModified":"2026-10-27T01:19:07.393","description":"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.","cvssScore":5.5,"cvssSeverity":"MEDIUM","cvssVector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","cwes":["CWE-125"],"vendors":[],"products":[],"references":[{"url":"https://github.com/diasurgical/DevilutionX/blob/7223eeac9e8274fbf665b4de86fda26d3b22c52f/3rdParty/libmpq/CMakeLists.txt","tags":[]},{"url":"https://github.com/diasurgical/DevilutionX/issues/8758","tags":[]},{"url":"https://github.com/diasurgical/DevilutionX/pull/8482","tags":[]},{"url":"https://github.com/diasurgical/libmpq/blob/b78d66c6fee6a501cc9b95d8556a129c68841b05/libmpq/mpq.c#L740","tags":[]},{"url":"https://hackmd.io/@haindpwn/devilutionx-libmpq-hash-block-table-oob","tags":[]},{"url":"https://www.vulncheck.com/advisories/devilutionx-1.4.0-through-1.5.5-out-of-bounds-read-via-libmpq-hash-table-lookup","tags":[]}],"exploitRefs":[{"url":"https://github.com/diasurgical/DevilutionX/blob/7223eeac9e8274fbf665b4de86fda26d3b22c52f/3rdParty/libmpq/CMakeLists.txt","tags":[]},{"url":"https://github.com/diasurgical/DevilutionX/issues/8758","tags":[]},{"url":"https://github.com/diasurgical/DevilutionX/pull/8482","tags":[]},{"url":"https://github.com/diasurgical/libmpq/blob/b78d66c6fee6a501cc9b95d8556a129c68841b05/libmpq/mpq.c#L740","tags":[]}],"hasPoc":true,"ai":null}