{"id":"CVE-2018-19115","aliases":["DEBIAN-CVE-2018-19115","DLA-1589-1","EUVD-2018-10828","GHSA-q8cg-hf8f-hgf3","MGASA-2018-0494","RHSA-2019:0022","RHSA-2019:1792","RHSA-2019:1945","UBUNTU-CVE-2018-19115","USN-3995-1","USN-3995-2"],"status":"published","title":"keepalived before 2.0.7 has a heap-based buffer overflow when parsing HTTP status codes resulting...","description":"keepalived before 2.0.7 has a heap-based buffer overflow when parsing HTTP status codes resulting in DoS or possibly unspecified other impact, because extract_status_code in lib/html.c has no validation of the status code and instead writes an unlimited amount of data to the heap.","severity":{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.03746,"percentile":0.89944,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-787"],"published":"2018-11-08T00:00:00Z","modified":"2026-10-23T18:03:03Z","fixes":[{"ecosystem":"Debian:12","package":"keepalived","fixed_in":["1:2.0.10-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"keepalived","fixed_in":["1:2.0.10-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"keepalived","fixed_in":["1:2.0.10-1"],"sources":["osv"]},{"ecosystem":"Debian:8","package":"keepalived","fixed_in":["1:1.2.13-1+deb8u1"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:7::server","package":"keepalived","fixed_in":["0:1.3.5-8.el7_6"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:7::server","package":"keepalived-debuginfo","fixed_in":["0:1.3.5-8.el7_6"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:7::workstation","package":"keepalived","fixed_in":["0:1.3.5-8.el7_6"],"sources":["osv"]},{"ecosystem":"Red Hat:enterprise_linux:7::workstation","package":"keepalived-debuginfo","fixed_in":["0:1.3.5-8.el7_6"],"sources":["osv"]},{"ecosystem":"Red Hat:rhel_eus:7.5::server","package":"keepalived","fixed_in":["0:1.3.5-7.el7_5.2"],"sources":["osv"]},{"ecosystem":"Red Hat:rhel_eus:7.5::server","package":"keepalived-debuginfo","fixed_in":["0:1.3.5-7.el7_5.2"],"sources":["osv"]},{"ecosystem":"Red Hat:rhel_eus:7.4::server","package":"keepalived","fixed_in":["0:1.3.5-1.el7_4.1"],"sources":["osv"]},{"ecosystem":"Red Hat:rhel_eus:7.4::server","package":"keepalived-debuginfo","fixed_in":["0:1.3.5-1.el7_4.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:14.04:LTS","package":"keepalived","fixed_in":["1:1.2.7-1ubuntu1+esm1"],"sources":["osv"]},{"ecosystem":"Ubuntu:16.04:LTS","package":"keepalived","fixed_in":["1:1.2.24-1ubuntu0.16.04.2"],"sources":["osv"]},{"ecosystem":"Ubuntu:18.04:LTS","package":"keepalived","fixed_in":["1:1.3.9-1ubuntu0.18.04.2"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:2.0.10-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:2.0.10-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:2.0.10-1"}]}]},{"source":"osv","ecosystem":"Debian:8","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:1.2.13-1+deb8u1"}]}],"versions":["1:1.2.13-1"]},{"source":"osv","ecosystem":"Mageia:6","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.10-1.mga6"}]}],"bundled":4},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:7::server","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.3.5-8.el7_6"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:7::server","package":"keepalived-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.3.5-8.el7_6"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:7::workstation","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.3.5-8.el7_6"}]}]},{"source":"osv","ecosystem":"Red Hat:enterprise_linux:7::workstation","package":"keepalived-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.3.5-8.el7_6"}]}]},{"source":"osv","ecosystem":"Red Hat:rhel_eus:7.5::server","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.3.5-7.el7_5.2"}]}]},{"source":"osv","ecosystem":"Red Hat:rhel_eus:7.5::server","package":"keepalived-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.3.5-7.el7_5.2"}]}]},{"source":"osv","ecosystem":"Red Hat:rhel_eus:7.4::server","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.3.5-1.el7_4.1"}]}]},{"source":"osv","ecosystem":"Red Hat:rhel_eus:7.4::server","package":"keepalived-debuginfo","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0:1.3.5-1.el7_4.1"}]}]},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:1.2.7-1ubuntu1+esm1"}]}],"versions":["1:1.2.7-1ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:1.2.24-1ubuntu0.16.04.2"}]}],"versions":["1:1.2.19-1","1:1.2.19-1ubuntu0.1","1:1.2.19-1ubuntu0.2","1:1.2.24-1ubuntu0.16.04.1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:1.3.9-1ubuntu0.18.04.2"}]}],"versions":["1:1.3.2-1build1","1:1.3.9-1","1:1.3.9-1build1","1:1.3.9-1ubuntu0.18.04.1"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:1.2.24-1ubuntu0.16.04.2"}]}],"versions":["1:1.2.19-1","1:1.2.19-1ubuntu0.1","1:1.2.19-1ubuntu0.2","1:1.2.24-1ubuntu0.16.04.1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:1.3.9-1ubuntu0.18.04.2"}]}],"versions":["1:1.3.2-1build1","1:1.3.9-1","1:1.3.9-1build1","1:1.3.9-1ubuntu0.18.04.1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:14.04:LTS","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1:1.2.7-1ubuntu1+esm1"}]}],"versions":["1:1.2.7-1ubuntu1"]}],"products":[{"vendor":"debian","product":"debian_linux"},{"vendor":"keepalived","product":"keepalived"},{"vendor":"redhat","product":"enterprise_linux_server"},{"vendor":"redhat","product":"enterprise_linux_server_aus"},{"vendor":"redhat","product":"enterprise_linux_server_eus"},{"vendor":"redhat","product":"enterprise_linux_server_tus"},{"vendor":"redhat","product":"enterprise_linux_workstation"}],"references":[{"url":"https://security.gentoo.org/glsa/201903-01","tags":["vendor-advisory","x_refsource_GENTOO","x_transferred","Third Party Advisory","advisory"]},{"url":"https://lists.debian.org/debian-lts-announce/2018/11/msg00034.html","tags":["mailing-list","x_refsource_MLIST","x_transferred","Mailing List","Third Party Advisory","advisory"]},{"url":"https://bugzilla.suse.com/show_bug.cgi?id=1015141","tags":["x_refsource_MISC","x_transferred","Issue Tracking","Third Party Advisory","report"]},{"url":"https://github.com/acassen/keepalived/pull/961/commits/f28015671a4b04785859d1b4b1327b367b6a10e9","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix"]},{"url":"https://github.com/acassen/keepalived/pull/961","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix","report"]},{"url":"https://access.redhat.com/errata/RHSA-2019:0022","tags":["vendor-advisory","x_refsource_REDHAT","x_transferred","Third Party Advisory","advisory"]},{"url":"https://usn.ubuntu.com/3995-1/","tags":["vendor-advisory","x_refsource_UBUNTU","x_transferred","web"]},{"url":"https://usn.ubuntu.com/3995-2/","tags":["vendor-advisory","x_refsource_UBUNTU","x_transferred","web"]},{"url":"https://access.redhat.com/errata/RHSA-2019:1792","tags":["vendor-advisory","x_refsource_REDHAT","x_transferred","advisory"]},{"url":"https://access.redhat.com/errata/RHSA-2019:1945","tags":["vendor-advisory","x_refsource_REDHAT","x_transferred","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2018-19115","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-q8cg-hf8f-hgf3"},{"url":"https://security-tracker.debian.org/tracker/CVE-2018-19115","tags":["advisory"]},{"url":"https://advisories.mageia.org/MGASA-2018-0494.html","tags":["advisory"]},{"url":"https://bugs.mageia.org/show_bug.cgi?id=24063","tags":["report"]},{"url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/thread/6YQ7NS6S7B7V2X5NEUJKMTNXL3YPD7H3/","tags":["web"]},{"url":"https://access.redhat.com/security/updates/classification/#important","tags":["article"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1651871","tags":["report"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2019/rhsa-2019_0022.json","tags":["advisory"]},{"url":"https://access.redhat.com/security/cve/CVE-2018-19115","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2018-19115","tags":["advisory","report"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2019/rhsa-2019_1792.json","tags":["advisory"]},{"url":"https://security.access.redhat.com/data/csaf/v2/advisories/2019/rhsa-2019_1945.json","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2018-19115","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-3995-1","tags":["advisory"]},{"url":"https://ubuntu.com/security/notices/USN-3995-2","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2018-19115","description":"keepalived before 2.0.7 has a heap-based buffer overflow when parsing HTTP status codes resulting in DoS or possibly unspecified other impact, because extract_status_code in lib/html.c has no validation of the status code and instead writes an unlimited amount of data to the heap.","status":"published","published":"2018-11-08T20:00:00Z","modified":"2024-08-05T11:30:04.087Z","updated_at":"2026-11-02T14:35:02.966615Z"}],"euvd":[{"id":"EUVD-2018-10828","description":"keepalived before 2.0.7 has a heap-based buffer overflow when parsing HTTP status codes resulting in DoS or possibly unspecified other impact, because extract_status_code in lib/html.c has no validation of the status code and instead writes an unlimited amount of data to the heap.","status":"published","published":"2018-11-08T20:00:00Z","modified":"2024-08-05T11:30:04Z","updated_at":"2026-11-03T02:39:34.247095Z"}],"ghsa":[{"id":"GHSA-q8cg-hf8f-hgf3","title":"keepalived before 2.0.7 has a heap-based buffer overflow when parsing HTTP status codes resulting...","description":"keepalived before 2.0.7 has a heap-based buffer overflow when parsing HTTP status codes resulting in DoS or possibly unspecified other impact, because extract_status_code in lib/html.c has no validation of the status code and instead writes an unlimited amount of data to the heap.","status":"published","published":"2022-05-13T01:19:44Z","modified":"2023-02-01T05:05:59Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-787"],"updated_at":"2026-11-02T14:50:17.937177Z"}],"nvd":[{"id":"CVE-2018-19115","description":"keepalived before 2.0.7 has a heap-based buffer overflow when parsing HTTP status codes resulting in DoS or possibly unspecified other impact, because extract_status_code in lib/html.c has no validation of the status code and instead writes an unlimited amount of data to the heap.","status":"published","published":"2018-11-08T20:29:00.573Z","modified":"2026-06-17T01:48:48.193Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-787"],"updated_at":"2026-11-02T14:04:47.196456Z"}],"osv":[{"id":"CVE-2018-19115","description":"keepalived before 2.0.7 has a heap-based buffer overflow when parsing HTTP status codes resulting in DoS or possibly unspecified other impact, because extract_status_code in lib/html.c has no validation of the status code and instead writes an unlimited amount of data to the heap.","status":"published","published":"2018-11-08T20:29:00.573Z","modified":"2026-10-20T10:50:23.083135848Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:44:08.834469Z"},{"id":"DEBIAN-CVE-2018-19115","description":"keepalived before 2.0.7 has a heap-based buffer overflow when parsing HTTP status codes resulting in DoS or possibly unspecified other impact, because extract_status_code in lib/html.c has no validation of the status code and instead writes an unlimited amount of data to the heap.","status":"published","published":"2018-11-08T20:29:00.573Z","modified":"2026-10-23T18:03:03.302473537Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:45:30.57382Z"},{"id":"RHSA-2019:0022","title":"Red Hat Security Advisory: keepalived security update","status":"published","published":"2024-09-16T01:58:38Z","modified":"2026-06-26T10:40:22Z","cvss":[{"version":"3.0","score":8.1,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:53:05.383061Z"},{"id":"RHSA-2019:1792","title":"Red Hat Security Advisory: keepalived security update","status":"published","published":"2024-09-16T01:58:45Z","modified":"2025-11-22T11:44:20Z","cvss":[{"version":"3.0","score":8.1,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:53:06.0195Z"},{"id":"RHSA-2019:1945","title":"Red Hat Security Advisory: keepalived security update","status":"published","published":"2024-09-16T01:58:50Z","modified":"2025-11-22T11:44:56Z","cvss":[{"version":"3.0","score":8.1,"vector":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:53:06.0195Z"},{"id":"UBUNTU-CVE-2018-19115","description":"keepalived before 2.0.7 has a heap-based buffer overflow when parsing HTTP status codes resulting in DoS or possibly unspecified other impact, because extract_status_code in lib/html.c has no validation of the status code and instead writes an unlimited amount of data to the heap.","status":"published","published":"2018-11-08T00:00:00Z","modified":"2026-02-04T02:41:59.132146Z","cvss":[{"version":"3.0","score":9.8,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"updated_at":"2026-11-02T15:54:17.496046Z"},{"id":"DLA-1589-1","title":"keepalived - security update","status":"published","published":"2018-11-22T00:00:00Z","modified":"2026-03-09T01:19:53.979106Z","updated_at":"2026-11-02T15:46:09.777694Z"},{"id":"MGASA-2018-0494","title":"Updated keepalived package fixes security vulnerabilities","description":"keepalived before version 2.0.9 didn't check for pathnames with symlinks\nwhen writing data to a temporary file upon a call to PrintData or\nPrintStats. This allowed local users to overwrite arbitrary files if\nfs.protected_symlinks is set to 0, as demonstrated by a symlink from\n/tmp/keepalived.data or /tmp/keepalived.stats to /etc/passwd\n(CVE-2018-19044).\n\nkeepalived before version 2.0.9 used mode 0666 when creating new\ntemporary files upon a call to PrintData or PrintStats, potentially\nleaking sensitive information (CVE-2018-19045).\n\nkeepalived before version 2.0.10 didn't check for existing plain files\nwhen writing data to a temporary file upon a call to PrintData or\nPrintStats. If a local attacker had previously created a file with the\nexpected name (e.g., /tmp/keepalived.data or /tmp/keepalived.stats),\nwith read access for the attacker and write access for the keepalived\nprocess, then this potentially leaked sensitive information\n(CVE-2018-19046).\n\nkeepalived before version 2.0.9 has a heap-based buffer overflow when\nparsing HTTP status codes resulting in DoS or possibly unspecified other\nimpact, because extract_status_code in lib/html.c has no validation of\nthe status code and instead writes an unlimited amount of data to the\nheap (CVE-2018-19115).\n","status":"published","published":"2018-12-29T23:24:32Z","modified":"2026-04-16T06:26:24.398327501Z","updated_at":"2026-11-02T15:49:40.793816Z"},{"id":"USN-3995-1","title":"keepalived vulnerability","description":"It was discovered that Keepalived incorrectly handled certain HTTP status\nresponse codes. A remote attacker could use this issue to cause Keepalived\nto crash, resulting in a denial of service, or possibly execute arbitrary\ncode.\n","status":"published","published":"2019-05-28T12:38:48Z","modified":"2026-02-10T04:41:33Z","updated_at":"2026-11-02T16:58:14.019824Z"},{"id":"USN-3995-2","title":"keepalived vulnerability","description":"USN-3995-1 fixed a vulnerability in keepalived. This update provides\nthe corresponding update for Ubuntu 12.04 ESM and Ubuntu 14.04 ESM.\n\nOriginal advisory details:\n\n It was discovered that Keepalived incorrectly handled certain HTTP status\n response codes. A remote attacker could use this issue to cause Keepalived\n to crash, resulting in a denial of service, or possibly execute arbitrary\n code.\n","status":"published","published":"2019-05-28T17:02:21Z","modified":"2026-02-10T04:41:33Z","updated_at":"2026-11-02T16:58:14.019824Z"}]}}
