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
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| freeciv | freeciv | < 3.2.6 | 3.2.6 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | freeciv | 3.2.6+ds-1 | — |
| Debian 13 | freeciv | No fix yet | — |
| Debian 12 | freeciv | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.04 LTS | freeciv | No fix yet | — |
Show 5 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 24.04 LTS | freeciv | No fix yet | — |
| Ubuntu Pro 22.04 LTS | freeciv | No fix yet | — |
| Ubuntu Pro 20.04 LTS | freeciv | No fix yet | — |
| Ubuntu Pro 18.04 LTS | freeciv | No fix yet | — |
| Ubuntu Pro 16.04 LTS | freeciv | No fix yet | — |
References
- Patch Commit patch
- https://github.com/freeciv/freeciv product
- https://redmine.freeciv.org/issues/2161 issue-tracking
- https://github.com/freeciv/freeciv/blob/R3_2_5/server/savegame/savegame3.c#L964 technical-description
- freeciv R3_2_6 Release Notes release-notes
- https://github.com/freeciv/freeciv/blob/R3_2_5/server/savegame/savegame2.c#L788 technical-description
- VulnCheck Advisory: Freeciv before 3.2.6 Heap Buffer Overflow via worklist_load third-party-advisory