keepalived 2.0.8 didn't check for pathnames with symlinks when writing data to a temporary file upon a call to PrintData or PrintStats. This allowed local users to overwrite arbitrary files if fs.protected_symlinks is set to 0, as demonstrated by a symlink from /tmp/keepalived.data or /tmp/keepalived.stats to /etc/passwd.
The product attempts to access a file based on the filename, but it does not properly prevent that filename from identifying a link or shortcut that resolves to an unintended resource.
Link | Tags |
---|---|
https://github.com/acassen/keepalived/commit/04f2d32871bb3b11d7dc024039952f2fe2750306 | third party advisory patch |
https://security.gentoo.org/glsa/201903-01 | third party advisory vendor advisory |
https://bugzilla.suse.com/show_bug.cgi?id=1015141 | issue tracking third party advisory |
https://github.com/acassen/keepalived/issues/1048 | exploit third party advisory patch |
https://access.redhat.com/errata/RHSA-2019:2285 | vendor advisory |