{"id":"CVE-2026-90556","aliases":["DEBIAN-CVE-2026-90556","EUVD-2026-76901","GHSA-2p7g-gcvc-7p6m","MGASA-2026-0505","UBUNTU-CVE-2026-90556"],"status":"published","title":"Freeciv before 3.2.6 Heap Buffer Overflow via worklist_load","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.","severity":{"version":"4.0","score":8.5,"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","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00202,"percentile":0.10145,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-122"],"published":"2026-09-12T18:06:41Z","modified":"2026-10-28T11:00:50Z","fixes":[{"ecosystem":"Debian:14","package":"freeciv","fixed_in":["3.2.6+ds-1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"freeciv","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.0.6-1","3.0.6-1+deb12u1","3.0.8-1","3.0.8-2","3.1.0+ds-1","3.1.1+ds-1","3.1.2+ds-1","3.1.2+ds-2","3.1.2+ds-2~exp1","3.1.4+ds-1","3.1.4+ds-2","3.2.0+ds-1","3.2.1+ds-1","3.2.1+ds-2","3.2.2+ds-1","3.2.4+ds-1","3.2.5+ds-1","3.2.6+ds-1"]},{"source":"osv","ecosystem":"Debian:13","package":"freeciv","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.1.4+ds-2","3.1.4+ds-2+deb13u1","3.2.0+ds-1","3.2.1+ds-1","3.2.1+ds-2","3.2.2+ds-1","3.2.4+ds-1","3.2.5+ds-1","3.2.6+ds-1"]},{"source":"osv","ecosystem":"Debian:14","package":"freeciv","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.6+ds-1"}]}],"versions":["3.1.4+ds-2","3.2.0+ds-1","3.2.1+ds-1","3.2.1+ds-2","3.2.2+ds-1","3.2.4+ds-1","3.2.5+ds-1"]},{"source":"osv","ecosystem":"Mageia:10","package":"freeciv","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2.6-1.mga10"}]}],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:Pro:16.04:LTS","package":"freeciv","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.5.1-1","2.5.2-1","2.5.3-1","2.5.3-1ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:18.04:LTS","package":"freeciv","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.5.9-1","2.5.10-1","2.5.10-1ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"freeciv","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.6.0-3","2.6.0-4","2.6.1-1","2.6.2-1","2.6.2-1ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"freeciv","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.6.3-1","2.6.5-1","2.6.6-1","2.6.6-1ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:24.04:LTS","package":"freeciv","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.0.8-1","3.0.8-2","3.0.8-2build1","3.1.0+ds-1build3","3.1.0+ds-1build4","3.1.0+ds-1build5","3.1.0+ds-1ubuntu0.1~esm1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"freeciv","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.2.0+ds-1","3.2.1+ds-1","3.2.1+ds-1build1","3.2.2+ds-1","3.2.4+ds-1"]}],"products":[{"vendor":"freeciv","product":"freeciv"}],"references":[{"url":"https://github.com/freeciv/freeciv/commit/75ecde3e86ddf2fe775768450e9a290a4f4d4387","tags":["patch","fix","report"]},{"url":"https://github.com/freeciv/freeciv","tags":["product","package","report"]},{"url":"https://redmine.freeciv.org/issues/2161","tags":["issue-tracking","report"]},{"url":"https://github.com/freeciv/freeciv/blob/R3_2_5/server/savegame/savegame3.c#L964","tags":["technical-description","article","report"]},{"url":"https://github.com/freeciv/freeciv/releases/tag/R3_2_6","tags":["release-notes","advisory","report"]},{"url":"https://github.com/freeciv/freeciv/blob/R3_2_5/server/savegame/savegame2.c#L788","tags":["technical-description","article","report"]},{"url":"https://www.vulncheck.com/advisories/freeciv-before-3.2.6-heap-buffer-overflow-via-worklist-load","tags":["third-party-advisory","advisory","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-90556","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-2p7g-gcvc-7p6m"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/90xxx/CVE-2026-90556.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-90556","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2026-0505.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=36348","tags":["report"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/FK3HSTSQRXCELDXHX2YMYSNARDQE5FW3/","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2026-90556","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-90556","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2026-90556","title":"Freeciv before 3.2.6 Heap Buffer Overflow via worklist_load","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.","status":"published","published":"2026-09-12T18:06:41.013Z","modified":"2026-09-18T17:23:06.892Z","cvss":[{"version":"4.0","score":8.5,"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","level":"high","assessor":"cna"},{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-122"],"updated_at":"2026-11-02T13:45:36.695039Z"}],"euvd":[{"id":"EUVD-2026-76901","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.","status":"published","published":"2026-09-12T18:06:41Z","modified":"2026-09-18T17:23:06Z","cvss":[{"version":"4.0","score":8.5,"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","level":"high"}],"updated_at":"2026-11-02T17:28:08.412343Z"}],"ghsa":[{"id":"GHSA-2p7g-gcvc-7p6m","title":"Freeciv versions before 3.2.6 contain a heap buffer overflow in worklist_load() when processing...","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.","status":"published","published":"2026-09-12T18:30:22Z","modified":"2026-09-12T18:30:33Z","cvss":[{"version":"4.0","score":8.5,"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","level":"high"},{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-122"],"updated_at":"2026-11-02T15:11:46.447865Z"}],"nvd":[{"id":"CVE-2026-90556","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.","status":"published","published":"2026-09-12T18:16:44.193Z","modified":"2026-09-23T17:17:44.267Z","cvss":[{"version":"4.0","score":8.5,"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","level":"high","assessor":"secondary"},{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-122"],"updated_at":"2026-11-02T14:12:46.62721Z"}],"osv":[{"id":"CVE-2026-90556","title":"Freeciv before 3.2.6 Heap Buffer Overflow via worklist_load","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.","status":"published","published":"2026-09-12T18:06:41.013Z","modified":"2026-10-28T11:00:50.847368475Z","cvss":[{"version":"4.0","score":8.5,"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","level":"high"}],"cwes":["CWE-122"],"updated_at":"2026-11-02T15:45:20.269367Z"},{"id":"DEBIAN-CVE-2026-90556","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.","status":"published","published":"2026-09-12T18:16:44.193Z","modified":"2026-09-24T08:47:30.540829456Z","cvss":[{"version":"4.0","score":8.5,"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","level":"high"}],"updated_at":"2026-11-02T15:46:06.410207Z"},{"id":"UBUNTU-CVE-2026-90556","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.","status":"published","published":"2026-09-12T18:16:00Z","modified":"2026-09-16T11:44:18Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"},{"version":"4.0","score":8.5,"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","level":"high"}],"updated_at":"2026-11-02T16:57:35.676249Z"},{"id":"MGASA-2026-0505","title":"Updated freeciv package fixes security vulnerabilities","description":"Freeciv before 3.2.6 Heap Buffer Overflow via worklist_load.\n(CVE-2026-90556)\nFreeciv 3.1.0 through 3.2.5 Out-of-Bounds Read via Savegame.\n(CVE-2026-90557)\n","status":"published","published":"2026-10-14T02:42:28Z","modified":"2026-10-14T02:45:02.970929638Z","updated_at":"2026-11-02T15:49:43.795591Z"}]}}
