git: e40817302ebd - main - ipfilter: Fix possible overrun
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 04 Feb 2026 20:47:38 UTC
The branch main has been updated by cy:
URL: https://cgit.FreeBSD.org/src/commit/?id=e40817302ebdf89df2f3bcd679fb7f2a18c244dc
commit e40817302ebdf89df2f3bcd679fb7f2a18c244dc
Author: Cy Schubert <cy@FreeBSD.org>
AuthorDate: 2026-02-04 17:27:23 +0000
Commit: Cy Schubert <cy@FreeBSD.org>
CommitDate: 2026-02-04 20:46:20 +0000
ipfilter: Fix possible overrun
The destination buffer is FR_GROUPLEN (16 bytes) in length. When
gname is created, the userspace utilities correctly use FR_GROUPLEN
as the buffer length. The kernel should also limit its copy operation to
FR_GROUPLEN bytes to avoid any user written code from exploiting this
vulnerability.
Reported by: Ilja Van Sprundel <ivansprundel@ioactive.com>
MFC after: 1 week
---
sys/netpfil/ipfilter/netinet/fil.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sys/netpfil/ipfilter/netinet/fil.c b/sys/netpfil/ipfilter/netinet/fil.c
index f8b8ffec7bdd..24ac91c69fc8 100644
--- a/sys/netpfil/ipfilter/netinet/fil.c
+++ b/sys/netpfil/ipfilter/netinet/fil.c
@@ -3503,7 +3503,7 @@ ipf_group_add(ipf_main_softc_t *softc, char *group, void *head, u_32_t flags,
fg->fg_head = head;
fg->fg_start = NULL;
fg->fg_next = *fgp;
- bcopy(group, fg->fg_name, strlen(group) + 1);
+ bcopy(group, fg->fg_name, strnlen(group, FR_GROUPLEN) + 1);
fg->fg_flags = gflags;
fg->fg_ref = 1;
fg->fg_set = &softc->ipf_groups[unit][set];