CVE-2026-90556
Received Received - Intake

Heap Buffer Overflow in Freeciv Savegame Files

Vulnerability report for CVE-2026-90556, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-12

Last updated on: 2026-09-12

Assigner: VulnCheck

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-12
Last Modified
2026-09-12
Generated
2026-09-12
AI Q&A
2026-09-12
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
freeciv freeciv to 3.2.6 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-122 A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-90556 is a heap buffer overflow in Freeciv versions before 3.2.6. It occurs in the worklist_load() function when processing savegame files with worklist lengths over 64 elements. Attackers can create malicious save files that write past the fixed-size array into adjacent heap memory, potentially corrupting critical data structures.

Detection Guidance

To detect this vulnerability, inspect Freeciv savegame files for worklist lengths exceeding 64 elements. Check server logs for malformed savegame files or crashes during loading. Use static analysis tools to scan savegame3.c for improper bounds checking in worklist_load().

Commands: grep -r 'worklist_load' /path/to/freeciv/source/; check savegame file headers for wl_length values > 64; monitor server logs for heap corruption errors.

Impact Analysis

If you load a malicious savegame file, this vulnerability could corrupt memory, leading to crashes or arbitrary code execution. For single-player users, it may cause game instability. For multiplayer servers, it could allow attackers to disrupt gameplay or execute malicious code on the server.

Mitigation Strategies

Upgrade Freeciv to version 3.2.6 or later, which includes bounds checking in worklist_load(). Avoid loading untrusted savegame files. Implement file integrity checks for savegames. Restrict access to savegame directories.

If upgrading is not possible, manually patch savegame3.c to enforce MAX_LEN_WORKLIST (64) checks in worklist_load(). Disable networked savegame sharing until patched.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-90556. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart