Drop group privileges after opening the kvm descriptor, otherwise, the code
would not drop privileges as expected. While there also add checks for the drop and bail out immediately if we failed. MFC after: 3 days
This commit is contained in:
parent
a3aeedabb4
commit
0a107daff7
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=287345
@ -154,9 +154,9 @@ main(int argc, char *argv[])
|
||||
* Discard setgid privileges if not the running kernel so that
|
||||
* bad guys can't print interesting stuff from kernel memory.
|
||||
*/
|
||||
|
||||
if (memf != NULL)
|
||||
setgid(getgid());
|
||||
if (setgid(getgid()) != 0)
|
||||
err(1, "setgid");
|
||||
|
||||
kvmd = kopen(memf);
|
||||
if (kvmd == NULL)
|
||||
@ -583,15 +583,9 @@ kopen(char const *memf)
|
||||
kvm_t *kvmd = NULL;
|
||||
char errbuf[_POSIX2_LINE_MAX];
|
||||
|
||||
/*
|
||||
* Discard setgid privileges if not the running kernel so that
|
||||
* bad guys can't print interesting stuff from kernel memory.
|
||||
*/
|
||||
|
||||
if (memf != NULL)
|
||||
setgid(getgid());
|
||||
|
||||
kvmd = kvm_openfiles(NULL, memf, NULL, O_RDONLY, errbuf);
|
||||
if (setgid(getgid()) != 0)
|
||||
err(1, "setgid");
|
||||
if (kvmd == NULL) {
|
||||
warnx("kvm_openfiles: %s", errbuf);
|
||||
return (NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user