From nobody Mon Aug 31 16:01:29 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hYYdP6Ndlz6qyYD for ; Mon, 31 Aug 2026 16:01:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hYYdP3xktz3wGY for ; Mon, 31 Aug 2026 16:01:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1788192089; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wf5ctypADQPTsEATSauYmchBuZ/K3SdrDaXVr3jjmM8=; b=K0vT6bxGpjnodGhFhXoZJ31G0Jk6ICGUljJ3lQrAWk6QKI653oVH+4wyKXtfZpv6RkpQQB Uh2QGKCdYzpKlS84zv2jC5srw0Wiu9Vhy+c1kswlnmSYeBA3E2Mu97F1beTooH4WEDjng1 ODD4Xm5wQROzUFrEmgl2r/ILZD9I+gn6aWPglMbhhTpzsOJBh8kRvhv6GrnXEhrsX0T6D+ Fs5z1KyrGRwnwtEbFhCOcYFjN4hz5EksRL+oNkOaoKtRMPjFQ0nE5SAJR1KAI+8SLDKmgR f8FvelpU3IYPOVc0tqZYHclT7zerxDEAFs2Jbv/Ow5s7pTJkEUdt8T3rJeLXNw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1788192089; a=rsa-sha256; cv=none; b=rkd/gaub1dlcN/jL2g6snhF3N3sBDWOMCP+nVHhMb7m0NIUh+zGXdNLas0U4chOLJmXfmj DfAgt6SA6PxKmAgFPr6L5J4G/PSgT83vQHjjM2zluQozv8u3QOGYoB9QRxmskYZF/TmgtT ZKClPlkLBllTNKA6Q+B6kzlC97YaaSXL5nnrAzSoCcUlGuAtbr0bkw1aHOXPwgVJ3j/yEf zhu9/SeUnWz+VLvS3Y4SAxf5LTnF/NCDF8jSjucLwdCk3dlq2UZ5KQl5gycDFYEbf9/la0 f6Frag4wE1zeQryQH4Te8VvwwthydEKQUU/NKcx7pN7b5vxvA6ECHokGbhe7CA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1788192089; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Wf5ctypADQPTsEATSauYmchBuZ/K3SdrDaXVr3jjmM8=; b=rJLhKF2GUjOEzRvwvm4eEbG8cbqH43jpbkhOuxxU+eOfh6v7NTsSh4sTfU9sxRvyHZIaiV ACFICIAXKFvxMjo+6f3Hl7iNC8FfVMf7SC3aLQ5Vnkq/R9cNzCnRcKNpTiu2l6AH/N9591 7JFkaHQZ0x3Q2JCVREgs8kwtvhcxy5pjlXncBm2nL5YDLrPi/JWWRDU4vlzPyz2T4km5Xl njfoMAVbnOICgF2fWun7wXv0YpdkWjGkx3NMWpU0f+JEB19nSKU/EQ/liNR7P4VAtgDJL1 g2izKDerCR8zAXMrPIM5NqavJEk/3b+iywnHnFc7nbGQI0DbjcceLA+oHenwAA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hYYdP2snQz3JF for ; Mon, 31 Aug 2026 16:01:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 253ee by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 31 Aug 2026 16:01:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 8b10eb844c4b - stable/15 - pf: fix securelevel off-by-one List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 8b10eb844c4b3205683fa5a4599c274fd89c52d8 Auto-Submitted: auto-generated Date: Mon, 31 Aug 2026 16:01:29 +0000 Message-Id: <6a95a559.253ee.740ff09e@gitrepo.freebsd.org> The branch stable/15 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=8b10eb844c4b3205683fa5a4599c274fd89c52d8 commit 8b10eb844c4b3205683fa5a4599c274fd89c52d8 Author: Kristof Provost AuthorDate: 2026-07-21 13:03:24 +0000 Commit: Kristof Provost CommitDate: 2026-08-31 07:45:39 +0000 pf: fix securelevel off-by-one cmd_securelevel is the securelevel at which the call should be denied. pf (write) calls should be denied at level 3 or up (not at 2 or up as it was), so increment these all by one. PR: 296838 MFC after: 4 weeks Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D58377 (cherry picked from commit d13dffa150d17dc239e164ea42ddab91e6fab466) --- sys/netpfil/pf/pf_nl.c | 66 +++++++++++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/sys/netpfil/pf/pf_nl.c b/sys/netpfil/pf/pf_nl.c index c09b204bcc66..5df1457594e7 100644 --- a/sys/netpfil/pf/pf_nl.c +++ b/sys/netpfil/pf/pf_nl.c @@ -2248,7 +2248,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_getstates, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, { .cmd_num = PFNL_CMD_GETCREATORS, @@ -2256,7 +2256,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_getcreators, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, { .cmd_num = PFNL_CMD_START, @@ -2264,7 +2264,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_start, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 2, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_STOP, @@ -2272,7 +2272,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_stop, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 2, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_ADDRULE, @@ -2280,7 +2280,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_addrule, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 2, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_GETRULES, @@ -2288,7 +2288,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_getrules, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, { .cmd_num = PFNL_CMD_GETRULE, @@ -2296,7 +2296,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_getrule, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, { .cmd_num = PFNL_CMD_CLRSTATES, @@ -2304,7 +2304,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_clear_states, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 2, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_KILLSTATES, @@ -2312,7 +2312,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_kill_states, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 2, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_SET_STATUSIF, @@ -2320,7 +2320,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_set_statusif, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 2, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_GET_STATUS, @@ -2328,7 +2328,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_get_status, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, { .cmd_num = PFNL_CMD_CLEAR_STATUS, @@ -2336,7 +2336,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_clear_status, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 2, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_NATLOOK, @@ -2344,7 +2344,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_natlook, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, { .cmd_num = PFNL_CMD_SET_DEBUG, @@ -2352,7 +2352,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_set_debug, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 2, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_SET_TIMEOUT, @@ -2360,7 +2360,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_set_timeout, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 2, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_GET_TIMEOUT, @@ -2368,7 +2368,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_get_timeout, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, { .cmd_num = PFNL_CMD_SET_LIMIT, @@ -2376,7 +2376,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_set_limit, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 2, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_GET_LIMIT, @@ -2384,7 +2384,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_get_limit, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, { .cmd_num = PFNL_CMD_BEGIN_ADDRS, @@ -2392,7 +2392,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_begin_addrs, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, { .cmd_num = PFNL_CMD_ADD_ADDR, @@ -2400,7 +2400,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_add_addr, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, { .cmd_num = PFNL_CMD_GET_ADDRS, @@ -2408,7 +2408,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_get_addrs, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, { .cmd_num = PFNL_CMD_GET_ADDR, @@ -2416,7 +2416,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_get_addr, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, { .cmd_num = PFNL_CMD_GET_RULESETS, @@ -2424,7 +2424,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_get_rulesets, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, { .cmd_num = PFNL_CMD_GET_RULESET, @@ -2432,7 +2432,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_get_ruleset, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, { .cmd_num = PFNL_CMD_GET_SRCNODES, @@ -2440,7 +2440,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_get_srcnodes, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, { .cmd_num = PFNL_CMD_CLEAR_TABLES, @@ -2448,7 +2448,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_clear_tables, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 2, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_ADD_TABLE, @@ -2456,7 +2456,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_add_table, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 2, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_DEL_TABLE, @@ -2464,7 +2464,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_del_table, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 2, + .cmd_securelevel = 3, }, { .cmd_num = PFNL_CMD_GET_TSTATS, @@ -2472,7 +2472,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_get_tstats, .cmd_flags = GENL_CMD_CAP_DUMP | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, { .cmd_num = PFNL_CMD_CLR_TSTATS, @@ -2480,7 +2480,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_clear_tstats, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, { .cmd_num = PFNL_CMD_CLR_ADDRS, @@ -2488,7 +2488,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_clear_addrs, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, { .cmd_num = PFNL_CMD_TABLE_ADD_ADDR, @@ -2496,7 +2496,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_table_add_addrs, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, { .cmd_num = PFNL_CMD_TABLE_DEL_ADDR, @@ -2504,7 +2504,7 @@ static const struct genl_cmd pf_cmds[] = { .cmd_cb = pf_handle_table_del_addrs, .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_HASPOL, .cmd_priv = PRIV_NETINET_PF, - .cmd_securelevel = 3, + .cmd_securelevel = 4, }, };