Re: [PATCH] libsepol: Check for embedded NUL when reading from policy file
Stephen Smalley <[email protected]> Thu, 23 Jul 2026 14:39:07 -0400
| Newsgroups | org.kernel.vger.selinux |
|---|---|
| Message-ID | <CAEjxPJ4yGX0joHcb4kajTozQS6jM2ddVckZB4VeeVUzmCw9PBQ@mail.gmail.com> |
On Wed, Jul 22, 2026 at 2:13 PM James Carter <[email protected]> wrote: > > Check that data read from a policy file does not have an > embedded NUL to protect against maliciously crafted polcies. policies > > Signed-off-by: James Carter <[email protected]> Otherwise, Acked-by: Stephen Smalley <[email protected]> > --- > libsepol/src/services.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/libsepol/src/services.c b/libsepol/src/services.c > index e8f0e622..3e8bd38b 100644 > --- a/libsepol/src/services.c > +++ b/libsepol/src/services.c > @@ -1799,6 +1799,12 @@ int str_read(char **strp, struct policy_file *fp, size_t len) > if (rc) > return rc; > > + /* Check for an embedded NUL character */ > + if (memchr(str, '\0', len)) { > + errno = EINVAL; > + return -1; > + } > + > str[len] = '\0'; > return 0; > } > -- > 2.55.0 >