git: ffad04235a76 - stable/15 - syslogd: Limit rights on procdescs

Mark Johnston <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.src
Message-ID <6a74a1cc.44feb.469a59cf__35715.1106743672$1786028594$gmane$org@gitrepo.freebsd.org>
The branch stable/15 has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=ffad04235a767852aaac3f1fce673a9c78c2753b

commit ffad04235a767852aaac3f1fce673a9c78c2753b
Author:     Mark Johnston <[email protected]>
AuthorDate: 2026-07-10 20:25:54 +0000
Commit:     Mark Johnston <[email protected]>
CommitDate: 2026-08-06 12:52:28 +0000

    syslogd: Limit rights on procdescs
    
    Reviewed by:    jfree, kib
    MFC after:      3 weeks
    Differential Revision:  https://reviews.freebsd.org/D58160
    
    (cherry picked from commit 24816abb8740c387ad4aba4ad2fa4c23b191c351)
---
 usr.sbin/syslogd/syslogd.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/usr.sbin/syslogd/syslogd.c b/usr.sbin/syslogd/syslogd.c
index 981428dbb8eb..8aed89e5dc36 100644
--- a/usr.sbin/syslogd/syslogd.c
+++ b/usr.sbin/syslogd/syslogd.c
@@ -3770,6 +3770,7 @@ validate(struct sockaddr *sa, const char *hname)
 int
 p_open(const char *prog, int *rpd)
 {
+	cap_rights_t rights;
 	struct sigaction act = { };
 	int pfd[2], pd;
 	pid_t pid;
@@ -3821,6 +3822,10 @@ p_open(const char *prog, int *rpd)
 		dprintf("Warning: cannot change pipe to PID %d to non-blocking"
 		    "behaviour.", pid);
 	}
+
+	if (cap_rights_limit(pd,
+	    cap_rights_init(&rights, CAP_PDKILL, CAP_EVENT)) == -1)
+		err(1, "cap_rights_limit");
 	*rpd = pd;
 	return (pfd[1]);
 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.