[PATCH] libsepol: Check for embedded NUL when reading from policy file
James Carter <[email protected]> Wed, 22 Jul 2026 14:13:25 -0400
| Newsgroups | org.kernel.vger.selinux |
|---|---|
| Message-ID | <[email protected]> |
Check that data read from a policy file does not have an embedded NUL to protect against maliciously crafted polcies. Signed-off-by: James Carter <[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