ZeroHour

CVE-2026-90556

moderate

Heap buffer overflow in Freeciv savegame loading (worklist_load)

CVSS 4.0
8.5 high
EPSS
Published
()
Modified
AI analysis

Freeciv versions before 3.2.6 contain a heap buffer overflow in the worklist_load() function, which parses worklist data embedded in savegame files. The parser trusts a declared worklist length from the file and writes past the fixed 64-element entries array into adjacent heap-allocated struct fields when that declared length exceeds the bound. An attacker who convinces a player or server operator to load a maliciously crafted savegame can corrupt heap memory in the game or server process, causing a crash and potentially achieving code execution with the privileges of that process. Anyone running a Freeciv client or server older than 3.2.6 who loads savegames from untrusted sources is affected; exploitation in the wild is not known, no public PoC exists, and the flaw is not on the CISA KEV list.

What to do: Upgrade to Freeciv 3.2.6 or later, or apply your distribution's patched package. Do not load savegame files from untrusted or unknown sources, and on multi-user game servers, restrict who may submit savegames for loading. If you run a fork or derivative (for example, Freeciv-web) that shares this savegame parser, verify whether it has picked up the fix.

Affected
Freeciv Project Freecivbefore 3.2.6
Estimated exposure
moderateon the order of tens of thousands of installations/players globally (estimate only) — Freeciv is a long-established free open-source game distributed via Linux distribution repositories, the project's own Windows/macOS builds, and browser-based Freeciv-web deployments, but no active-install telemetry exists, so this is a…

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

Description

Freeciv versions before 3.2.6 contain a heap buffer overflow in worklist_load() when processing savegame files with declared worklist lengths exceeding the fixed array bound of 64 elements. Attackers can craft malicious savegame files that write past the entries array into adjacent heap-allocated struct fields, potentially corrupting memory when a user or server operator loads the file.

Weakness
CWE-122
Vector
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.