Skip to content
NewA calmer, faster ZeroHour
Vulnerability3 · 2 reads

CVE-2026-110736

Heap out-of-bounds read in Godot Engine translation loader

CVSS 3.1
3.6 low
EPSS
—
Published
·
Modified
Analyze CVE-2026-110736 with Vani AIImpact, affected versions, exploitation status, mitigations and detection

Godot Engine through 4.7.2 has an out-of-bounds read in OptimizedTranslation::get_message (core/string/optimized_translation.cpp) when loading an optimized translation resource. Offsets taken from the hash table of a crafted .translation file are used as indices into the bucket table without bounds checks; only a single sentinel value is rejected, so an index can point far past the allocated buffer. Depending on those values, a lookup via tr() can crash the process or return raw bytes from elsewhere on the process heap as the translated string, disclosing process memory. The bug is reached when the editor or an exported game loads the crafted file and performs a message lookup. It is not listed in CISA KEV, no public proof-of-concept is known, and the supplier’s position is that this falls outside the engine’s current threat model because of the access required.

What to do: Do not load or ship untrusted .translation resources, and treat translation files as untrusted input in the editor and in exported games. Update Godot Engine past 4.7.2 when the project publishes a build that adds bounds checks in OptimizedTranslation::get_message; no fixed version is named in the advisory. Until then, avoid opening third-party translation packs and rebuild games after a patched engine release.

ProductAffected
Godot Enginethrough 4.7.2
Estimated exposure
largeon the order of hundreds of thousands of Godot 4.x developers and shipped games (estimate, not a measured count) — No install census is in the CVE data. The estimate is an order-of-magnitude inference from Godot’s public standing as a widely used free game engine whose 4.x editor and exported games embed this loader; only installs that load a crafted…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description · NVD

Godot Engine through 4.7.2 has an out-of-bounds read in the optimized translation loader (core/string/optimized_translation.cpp, OptimizedTranslation::get_message). Offsets read from the hash table of a crafted .translation resource are used as indices into the bucket table without bounds validation; only a single sentinel value is rejected. A crafted file can point an index far past the allocated buffer. Depending on the values, the result is a crash, or a string lookup (tr()) returns raw bytes from elsewhere in the process heap as the translated string, disclosing process memory. The defect is reached when the product or an exported game loads and performs lookups in a crafted translation file. NOTE: the Supplier's position is that the research has identified "no security issues" because the required attacker access is outside of the current Godot Engine threat model.

Weakness
CWE-1285
Vector
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:L

In the news

1 story