{"id":"CVE-2026-22259","summary":"Suricata dnp3: unbounded transaction growth","details":"Suricata is a network IDS, IPS and NSM engine. Prior to versions 8.0.3 and 7.0.14, specially crafted traffic can cause Suricata to consume large amounts of memory while parsing DNP3 traffic. This can lead to the process slowing down and running out of memory, potentially leading to it getting killed by the OOM killer. Versions 8.0.3 or 7.0.14 contain a patch. As a workaround, disable the DNP3 parser in the suricata yaml (disabled by default).","aliases":["GHSA-878h-2x6v-84q9"],"modified":"2026-08-12T15:32:51.374044Z","published":"2026-01-27T17:13:11.057Z","related":["openSUSE-SU-2026:10082-1"],"database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-400","CWE-770"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/22xxx/CVE-2026-22259.json"},"references":[{"type":"WEB","url":"https://redmine.openinfosecfoundation.org/issues/8181"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/22xxx/CVE-2026-22259.json"},{"type":"ADVISORY","url":"https://github.com/OISF/suricata/security/advisories/GHSA-878h-2x6v-84q9"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-22259"},{"type":"FIX","url":"https://github.com/OISF/suricata/commit/50cac2e2465ca211eabfa156623e585e9037bb7e"},{"type":"FIX","url":"https://github.com/OISF/suricata/commit/63225d5f8ef64cc65164c0bb1800730842d54942"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/oisf/suricata","events":[{"introduced":"0"},{"fixed":"163bd652dfa92959e918a952429b939fa81f7b88"},{"introduced":"9956286fb89f9cad9e9f95b99dc751f8666617b7"},{"fixed":"3bd9f773bdc65d7bede2f0576790a68fb68b7476"},{"fixed":"50cac2e2465ca211eabfa156623e585e9037bb7e"},{"fixed":"63225d5f8ef64cc65164c0bb1800730842d54942"}],"database_specific":{"cpe":"cpe:2.3:a:oisf:suricata:*:*:*:*:*:*:*:*","extracted_events":[{"introduced":"0"},{"fixed":"7.0.14"},{"introduced":"8.0.0"},{"fixed":"8.0.3"}],"source":["CPE_RANGE","REFERENCES"]}}],"versions":["suricata-8.0.2","suricata-7.0.13","suricata-7.0.12","suricata-8.0.1","suricata-8.0.0","suricata-7.0.11","suricata-7.0.10","suricata-7.0.9","suricata-7.0.8","suricata-7.0.7","suricata-7.0.6","suricata-7.0.5","suricata-7.0.4","suricata-7.0.3","suricata-7.0.2","suricata-7.0.1","suricata-7.0.0","suricata-7.0.0-rc2","suricata-7.0.0-rc1","suricata-7.0.0-beta1","suricata-6.0.1","suricata-6.0.0","suricata-6.0.0-rc1","suricata-6.0.0-beta1","suricata-5.0.1","suricata-5.0.0","suricata-5.0.0-rc1","suricata-5.0.0-beta1","suricata-4.1.2","suricata-4.1.1","suricata-4.1.0","suricata-4.1.0-rc2","suricata-4.1.0-rc1","suricata-4.1.0-beta1","suricata-4.0.1","suricata-4.0.0","suricata-4.0.0-rc2","suricata-4.0.0-rc1","suricata-4.0.0-beta1","suricata-3.2.1","suricata-3.2","suricata-3.2RC1","suricata-3.2beta1","suricata-3.1.2","suricata-3.1.1","suricata-3.1","suricata-3.0.1","suricata-3.1RC1","suricata-3.0.1RC1","suricata-3.0","suricata-3.0RC3","suricata-3.0RC2","suricata-3.0RC1","suricata-2.1beta4","suricata-2.1beta3","suricata-2.1beta2","suricata-2.1beta1","suricata-2.0.2","suricata-2.0.1","suricata-2.0.1rc1","suricata-2.0","suricata-2.0rc3","suricata-2.0rc2","suricata-2.0rc1","suricata-2.0beta2","suricata-2.0beta1","suricata-1.4","suricata-1.4rc1","suricata-1.4beta3","suricata-1.4beta2","suricata-1.4beta1","suricata-1.3.1","suricata-1.3","suricata-1.3rc1","suricata-1.3beta2","suricata-1.3beta1","suricata-1.2.1","suricata-1.2","suricata-1.2rc1","suricata-1.2beta1","suricata-1.1","suricata-1.1rc1","suricata-1.1beta3","suricata-1.1beta2","suricata-1.1beta1","suricata-1.0.2","suricata-1.0.1","suricata-1.0.0","suricata-0.8.2"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-22259.json","vanir_signatures_modified":"2026-08-12T15:32:51Z","vanir_signatures":[{"source":"https://github.com/oisf/suricata/commit/63225d5f8ef64cc65164c0bb1800730842d54942","target":{"function":"DNP3GetAlstateProgress","file":"src/app-layer-dnp3.c"},"deprecated":false,"digest":{"function_hash":"206606459645687684008815037233384969346","length":355},"id":"CVE-2026-22259-4546e13d","signature_type":"Function","signature_version":"v1"},{"source":"https://github.com/oisf/suricata/commit/63225d5f8ef64cc65164c0bb1800730842d54942","target":{"file":"src/app-layer-dnp3.c"},"deprecated":false,"digest":{"line_hashes":["169890018045731853312541426657200803247","82534629705796385037685254029524319701","6255245111248200065941123448210768690","179533825243369783146470188726573119952"],"threshold":0.9},"id":"CVE-2026-22259-73c492f3","signature_type":"Line","signature_version":"v1"},{"deprecated":false,"digest":{"line_hashes":["169890018045731853312541426657200803247","82534629705796385037685254029524319701","6255245111248200065941123448210768690","179533825243369783146470188726573119952"],"threshold":0.9},"id":"CVE-2026-22259-96d6a2b0","signature_type":"Line","signature_version":"v1","source":"https://github.com/oisf/suricata/commit/50cac2e2465ca211eabfa156623e585e9037bb7e","target":{"file":"src/app-layer-dnp3.c"}},{"digest":{"function_hash":"206606459645687684008815037233384969346","length":355},"id":"CVE-2026-22259-d17a4bc9","signature_type":"Function","signature_version":"v1","source":"https://github.com/oisf/suricata/commit/50cac2e2465ca211eabfa156623e585e9037bb7e","target":{"function":"DNP3GetAlstateProgress","file":"src/app-layer-dnp3.c"},"deprecated":false}]}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}]}