{"id":"CVE-2018-19046","aliases":["ALPINE-CVE-2018-19046","DEBIAN-CVE-2018-19046","EUVD-2018-10764","GHSA-fjwx-29fr-83hw","MGASA-2018-0494","SUSE-SU-2020:0779-1","UBUNTU-CVE-2018-19046","openSUSE-SU-2024:10893-1"],"status":"published","title":"keepalived 2.0.8 didn't check for existing plain files when writing data to a temporary file upon...","description":"keepalived 2.0.8 didn't check for existing plain files when writing data to a temporary file upon a call to PrintData or PrintStats. If a local attacker had previously created a file with the expected name (e.g., /tmp/keepalived.data or /tmp/keepalived.stats), with read access for the attacker and write access for the keepalived process, then this potentially leaked sensitive information.","severity":{"version":"3.0","score":4.7,"vector":"CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-10","score":0.00366,"percentile":0.30774,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-200"],"published":"2018-11-08T20:00:00Z","modified":"2026-11-03T06:31:26Z","fixes":[{"ecosystem":"Alpine:v3.10","package":"keepalived","fixed_in":["2.0.11-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.11","package":"keepalived","fixed_in":["2.0.11-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.12","package":"keepalived","fixed_in":["2.0.11-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.13","package":"keepalived","fixed_in":["2.0.11-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.14","package":"keepalived","fixed_in":["2.0.11-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.15","package":"keepalived","fixed_in":["2.0.11-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.16","package":"keepalived","fixed_in":["2.0.11-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.17","package":"keepalived","fixed_in":["2.0.11-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.18","package":"keepalived","fixed_in":["2.0.11-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.19","package":"keepalived","fixed_in":["2.0.11-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.20","package":"keepalived","fixed_in":["2.0.11-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.21","package":"keepalived","fixed_in":["2.0.11-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.22","package":"keepalived","fixed_in":["2.0.11-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.23","package":"keepalived","fixed_in":["2.0.11-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.24","package":"keepalived","fixed_in":["2.0.11-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.8","package":"keepalived","fixed_in":["2.0.11-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.9","package":"keepalived","fixed_in":["2.0.11-r0"],"sources":["osv"]},{"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"]}],"affected":[{"source":"osv","ecosystem":"Alpine:v3.10","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.11-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.11","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.11-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.12","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.11-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.13","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.11-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.14","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.11-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.15","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.11-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.16","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.11-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.17","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.11-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.18","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.11-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.19","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.11-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.20","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.11-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.21","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.11-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.22","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.11-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.23","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.11-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.24","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.11-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.8","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.11-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.9","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.11-r0"}]}]},{"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":"Mageia:6","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.10-1.mga6"}]}],"bundled":4},{"source":"osv","ecosystem":"SUSE:Linux Enterprise High Availability Extension 15 SP1","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.0.19-3.3.1"}]}],"bundled":3},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:1.3.2-1build1","1:1.3.9-1","1:1.3.9-1build1","1:1.3.9-1ubuntu0.18.04.1","1:1.3.9-1ubuntu0.18.04.2","1:1.3.9-1ubuntu0.18.04.3"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"keepalived","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.2.2-4.2"}]}],"bundled":3}],"products":[{"vendor":"keepalived","product":"keepalived"}],"references":[{"url":"https://security.gentoo.org/glsa/201903-01","tags":["vendor-advisory","x_refsource_GENTOO","x_transferred","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/issues/1048","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","fix"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2018-19046"},{"url":"https://github.com/advisories/GHSA-fjwx-29fr-83hw"},{"url":"https://security.alpinelinux.org/vuln/CVE-2018-19046","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2018-19046","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://www.suse.com/support/update/announcement/2020/suse-su-20200779-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1015141","tags":["report"]},{"url":"https://bugzilla.suse.com/1069468","tags":["report"]},{"url":"https://bugzilla.suse.com/1158280","tags":["report"]},{"url":"https://bugzilla.suse.com/949238","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2018-19044","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-19045","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2018-19046","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2018-19046","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2018-19046","tags":["report"]},{"url":"","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2018-19046","description":"keepalived 2.0.8 didn't check for existing plain files when writing data to a temporary file upon a call to PrintData or PrintStats. If a local attacker had previously created a file with the expected name (e.g., /tmp/keepalived.data or /tmp/keepalived.stats), with read access for the attacker and write access for the keepalived process, then this potentially leaked sensitive information.","status":"published","published":"2018-11-08T20:00:00Z","modified":"2024-08-05T11:30:04.013Z","updated_at":"2026-11-02T14:35:02.966615Z"}],"euvd":[{"id":"EUVD-2018-10764","description":"keepalived 2.0.8 didn't check for existing plain files when writing data to a temporary file upon a call to PrintData or PrintStats. If a local attacker had previously created a file with the expected name (e.g., /tmp/keepalived.data or /tmp/keepalived.stats), with read access for the attacker and write access for the keepalived process, then this potentially leaked sensitive information.","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-fjwx-29fr-83hw","title":"keepalived 2.0.8 didn't check for existing plain files when writing data to a temporary file upon...","description":"keepalived 2.0.8 didn't check for existing plain files when writing data to a temporary file upon a call to PrintData or PrintStats. If a local attacker had previously created a file with the expected name (e.g., /tmp/keepalived.data or /tmp/keepalived.stats), with read access for the attacker and write access for the keepalived process, then this potentially leaked sensitive information.","status":"published","published":"2022-05-14T01:21:11Z","modified":"2023-02-02T05:03:33Z","cvss":[{"version":"3.0","score":4.7,"vector":"CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-200"],"updated_at":"2026-11-02T14:51:39.940381Z"}],"nvd":[{"id":"CVE-2018-19046","description":"keepalived 2.0.8 didn't check for existing plain files when writing data to a temporary file upon a call to PrintData or PrintStats. If a local attacker had previously created a file with the expected name (e.g., /tmp/keepalived.data or /tmp/keepalived.stats), with read access for the attacker and write access for the keepalived process, then this potentially leaked sensitive information.","status":"published","published":"2018-11-08T20:29:00.51Z","modified":"2026-06-17T01:48:41.287Z","cvss":[{"version":"3.0","score":4.7,"vector":"CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":1.9,"vector":"AV:L/AC:M/Au:N/C:P/I:N/A:N","level":"low","assessor":"primary"}],"cwes":["CWE-200"],"updated_at":"2026-11-02T14:04:47.196456Z"}],"osv":[{"id":"ALPINE-CVE-2018-19046","description":"keepalived 2.0.8 didn't check for existing plain files when writing data to a temporary file upon a call to PrintData or PrintStats. If a local attacker had previously created a file with the expected name (e.g., /tmp/keepalived.data or /tmp/keepalived.stats), with read access for the attacker and write access for the keepalived process, then this potentially leaked sensitive information.","status":"published","published":"2018-11-08T20:29:00.51Z","modified":"2026-11-03T06:31:26.558578559Z","cvss":[{"version":"3.0","score":4.7,"vector":"CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-03T07:18:23.800469Z"},{"id":"CVE-2018-19046","description":"keepalived 2.0.8 didn't check for existing plain files when writing data to a temporary file upon a call to PrintData or PrintStats. If a local attacker had previously created a file with the expected name (e.g., /tmp/keepalived.data or /tmp/keepalived.stats), with read access for the attacker and write access for the keepalived process, then this potentially leaked sensitive information.","status":"published","published":"2018-11-08T20:29:00.51Z","modified":"2026-10-20T10:50:05.829461928Z","cvss":[{"version":"3.0","score":4.7,"vector":"CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:08.834469Z"},{"id":"DEBIAN-CVE-2018-19046","description":"keepalived 2.0.8 didn't check for existing plain files when writing data to a temporary file upon a call to PrintData or PrintStats. If a local attacker had previously created a file with the expected name (e.g., /tmp/keepalived.data or /tmp/keepalived.stats), with read access for the attacker and write access for the keepalived process, then this potentially leaked sensitive information.","status":"published","published":"2018-11-08T20:29:00.51Z","modified":"2026-10-23T18:03:03.304058558Z","cvss":[{"version":"3.0","score":4.7,"vector":"CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T15:45:30.57382Z"},{"id":"UBUNTU-CVE-2018-19046","description":"keepalived 2.0.8 didn't check for existing plain files when writing data to a temporary file upon a call to PrintData or PrintStats. If a local attacker had previously created a file with the expected name (e.g., /tmp/keepalived.data or /tmp/keepalived.stats), with read access for the attacker and write access for the keepalived process, then this potentially leaked sensitive information.","status":"published","published":"2018-11-08T20:29:00Z","modified":"2025-10-24T04:47:16Z","cvss":[{"version":"3.0","score":4.7,"vector":"CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T15:54:17.496046Z"},{"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":"openSUSE-SU-2024:10893-1","title":"keepalived-2.2.2-4.2 on GA media","description":"These are all security issues fixed in the keepalived-2.2.2-4.2 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2024-06-15T00:00:00Z","modified":"2026-02-04T03:27:16.449504Z","updated_at":"2026-11-02T16:58:34.894275Z"},{"id":"SUSE-SU-2020:0779-1","title":"Security update for keepalived","description":"This update for keepalived fixes the following issues:\n\nInitial release of keepalived v2.0.19 as supported package. (bsc#1158280, jsc#ECO-223)\n\n","status":"published","published":"2020-03-24T20:12:06Z","modified":"2026-02-04T04:27:38.437174Z","updated_at":"2026-11-02T15:53:47.634847Z"}]}}
