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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
freeciv freeciv
Default version status: unaffected
0 to < 3.2.6affected
References
- https://github.com/freeciv/freeciv/commit/75ecde3e86ddf2fe775768450e9a290a4f4d4387 ↗
- https://github.com/freeciv/freeciv ↗
- https://redmine.freeciv.org/issues/2161 ↗
- https://github.com/freeciv/freeciv/blob/R3_2_5/server/savegame/savegame3.c#L964 ↗
- https://github.com/freeciv/freeciv/releases/tag/R3_2_6 ↗
- https://github.com/freeciv/freeciv/blob/R3_2_5/server/savegame/savegame2.c#L788 ↗
- https://www.vulncheck.com/advisories/freeciv-before-3.2.6-heap-buffer-overflow-via-worklist-load ↗