OPNSense/core f5c3fb7src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.xml KeaDhcpv6.xml

kea: small xml style update in model
DeltaFile
+1-2src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+1-2src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+2-42 files

OPNSense/src 1ac8487. UPDATING, sys/conf newvers.sh

Add UPDATING entries and bump version

Approved by:    so
DeltaFile
+8-0UPDATING
+1-1sys/conf/newvers.sh
+9-12 files

OPNSense/src 4a49bf4lib/librpcsec_gss svc_rpcsec_gss.c, sys/rpc/rpcsec_gss svc_rpcsec_gss.c

rpcsec_gss: Fix a stack overflow in svc_rpc_gss_validate()

svc_rpc_gss_validate() copies the input message into a stack buffer
without ensuring that the buffer is large enough.  Sure enough,
oa_length may be up to 400 bytes, much larger than the provided space.
This enables an unauthenticated user to trigger an overflow and obtain
remote code execution.

Add a runtime check which verifies that the copy won't overflow.

Approved by:    so
Security:       FreeBSD-SA-26:08.rpcsec_gss
Security:       CVE-2026-4747
Reported by:    Nicholas Carlini <npc at anthropic.com>
Reviewed by:    rmacklem
Fixes:          a9148abd9da5d
DeltaFile
+9-1sys/rpc/rpcsec_gss/svc_rpcsec_gss.c
+8-1lib/librpcsec_gss/svc_rpcsec_gss.c
+17-22 files

OPNSense/src afd6de9sys/netinet tcp_subr.c

tcp: plug an mbuf leak

When a challenge ACK should be sent via tcp_send_challenge_ack(),
but the rate limiter suppresses the sending, free the mbuf chain.
The caller of tcp_send_challenge_ack() expects this similar to the
callers of tcp_respond().

Approved by:    so
Security:       FreeBSD-SA-26:06.tcp
Security:       CVE-2026-4247
Reviewed by:    lstewart
Tested by:      lstewart
Sponsored by:   Netflix, Inc.
DeltaFile
+2-0sys/netinet/tcp_subr.c
+2-01 files

OPNSense/core 14c9eb1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogSubnet6.xml dialogSubnet4.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv6.php KeaDhcpv4.php

Services: Kea: DDNS: Add subnet specific qualifying suffix and prevent updates if no server is set. (#10038)
DeltaFile
+12-4src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+12-4src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php
+10-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet6.xml
+10-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+46-106 files

OPNSense/src ff0b11e. UPDATING, sys/conf newvers.sh

Add UPDATING entries and bump version

Approved by:    so
DeltaFile
+11-0UPDATING
+1-1sys/conf/newvers.sh
+12-12 files

OPNSense/src 5d8b34asys/netpfil/pf pf_ioctl.c

pf: include all elements when hashing rules

Approved by:    so
Security:       FreeBSD-SA-26:09.pf
Security:       CVE-2026-4748
Sponsored by:   Rubicon Communications, LLC ("Netgate")

(cherry picked from commit c6bcf6e6fd507d952a48226b51cc161b8ef972a2)
(cherry picked from commit e3b801edded92c1ccef67f9aef8653e996493460)
DeltaFile
+83-8sys/netpfil/pf/pf_ioctl.c
+83-81 files

OPNSense/src 3aa9ae8sbin/pfctl pfctl.c

pfctl: always warn if a duplicate rule was detected

Approved by:    so
Security:       FreeBSD-SA-26:09.pf
Security:       CVE-2026-4748
Sponsored by:   Rubicon Communications, LLC ("Netgate")

(cherry picked from commit 66d66dd0f6f83926980fc1d68dd366c0057350c5)
(cherry picked from commit e79818ec36efafc994d8c5a912dcb94986c038c5)
DeltaFile
+2-2sbin/pfctl/pfctl.c
+2-21 files

OPNSense/src 9b77f8ctests/sys/netpfil/pf pass_block.sh

pf tests: verify that we handle address range rules correctly

There's been a problem where rules which differed only in address ranges
were considered duplicates and not added. Test for this.

Approved by:    so
Security:       FreeBSD-SA-26:09.pf
Security:       CVE-2026-4748
Sponsored by:   Rubicon Communications, LLC ("Netgate")

(cherry picked from commit ab74151e8d097b263237942c0b12277098bc9533)
(cherry picked from commit 958dbc87e9c59a2e9f83d84115ce03fb96e9b249)
DeltaFile
+38-0tests/sys/netpfil/pf/pass_block.sh
+38-01 files

OPNSense/src 4b1f421sys/netpfil/pf pf_ioctl.c

pf: Fix hashing of IP address ranges

This corrects the false detection of duplicate rules.

Approved by:    so
Security:       FreeBSD-SA-26:09.pf
Security:       CVE-2026-4748
Reviewed by:    kp

(cherry picked from commit 1fa873c93c8b08561c53107c7b90c53dfad30ddc)
(cherry picked from commit ac6bb58a715eaf0afb7a80dc87083f9819e10ac1)
DeltaFile
+1-0sys/netpfil/pf/pf_ioctl.c
+1-01 files

OPNSense/src 97ff478lib/librpcsec_gss svc_rpcsec_gss.c, sys/rpc/rpcsec_gss svc_rpcsec_gss.c

rpcsec_gss: Fix a stack overflow in svc_rpc_gss_validate()

svc_rpc_gss_validate() copies the input message into a stack buffer
without ensuring that the buffer is large enough.  Sure enough,
oa_length may be up to 400 bytes, much larger than the provided space.
This enables an unauthenticated user to trigger an overflow and obtain
remote code execution.

Add a runtime check which verifies that the copy won't overflow.

Approved by:    so
Security:       FreeBSD-SA-26:08.rpcsec_gss
Security:       CVE-2026-4747
Reported by:    Nicholas Carlini <npc at anthropic.com>
Reviewed by:    rmacklem
Fixes:          a9148abd9da5d
DeltaFile
+9-1sys/rpc/rpcsec_gss/svc_rpcsec_gss.c
+8-1lib/librpcsec_gss/svc_rpcsec_gss.c
+17-22 files

OPNSense/src 0da18fbsys/netinet tcp_subr.c

tcp: plug an mbuf leak

When a challenge ACK should be sent via tcp_send_challenge_ack(),
but the rate limiter suppresses the sending, free the mbuf chain.
The caller of tcp_send_challenge_ack() expects this similar to the
callers of tcp_respond().

Approved by:    so
Security:       FreeBSD-SA-26:06.tcp
Security:       CVE-2026-4247
Reviewed by:    lstewart
Tested by:      lstewart
Sponsored by:   Netflix, Inc.
DeltaFile
+2-0sys/netinet/tcp_subr.c
+2-01 files

OPNSense/src fb61125sys/net if.c

ifnet: Fix decreasing the vnet interface count

It should be decreased only when the interface has been successfully
removed from the "active" list.

This prevents vnet_if_return() from potential OOB writes to the
allocated memory "pending".

Reviewed by:    kp, pouria
Fixes:          a779388f8bb3 if: Protect V_ifnet in vnet_if_return()
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D55873

(cherry picked from commit 8065ff63c0e5c3bb4abb02f55b20cb47bb51d1a7)
(cherry picked from commit 1b7687f053afcf251ee7643ee5a4f22a225f4a02)
DeltaFile
+3-3sys/net/if.c
+3-31 files

OPNSense/src 4dcd148sys/compat/linuxkpi/common/include/linux sort.h

LinuxKPI: avoid -Werror=unused-value in sort() from BUILD_BUG_ON_ZERO()

The BUILD_BUG_ON_ZERO() macro returns an (int)0 if it does not fail
at build time. LinuxKPI sort() has it as a guard for an unsupported
argument but ignores the return value.

This leads to gcc complaining:

/usr/src/sys/compat/linuxkpi/common/include/linux/build_bug.h:60:33: error: statement with no effect [-Werror=unused-value]
   60 | #define BUILD_BUG_ON_ZERO(x)    ((int)sizeof(struct { int:-((x) != 0); }))
      |                                 ^
/usr/src/sys/compat/linuxkpi/common/include/linux/sort.h:37:9: note: in expansion of macro 'BUILD_BUG_ON_ZERO'
   37 |         BUILD_BUG_ON_ZERO(swap);                        \
      |         ^~~~~~~~~~~~~~~~~
/usr/src/sys/contrib/dev/rtw89/core.c:2575:9: note: in expansion of macro 'sort'
 2575 |         sort(drift, RTW89_BCN_TRACK_STAT_NR, sizeof(*drift), cmp_u16, NULL);

Change to BUILD_BUG_ON() for the statement version.


    [8 lines not shown]
DeltaFile
+1-1sys/compat/linuxkpi/common/include/linux/sort.h
+1-11 files

OPNSense/core 265ba25src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogSubnet4.xml dialogSubnet6.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.php KeaDhcpv6.php

Services: Kea: DDNS: Add subnet specific qualifying suffix and prevent updates if no server is set.
DeltaFile
+12-4src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php
+12-4src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+10-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
+10-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet6.xml
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+46-106 files

OPNSense/core 4be4290src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogSubnet6.xml dialogSubnet4.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.php KeaDhcpv6.php

Services: Kea: DDNS: Add subnet specific qualifying suffix and prevent updates if no server is set.
DeltaFile
+12-4src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php
+11-2src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+10-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet6.xml
+10-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+45-86 files

OPNSense/core 6ec7fc6src/opnsense/mvc/app/controllers/OPNsense/Kea/forms dialogSubnet6.xml dialogSubnet4.xml, src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.php KeaDhcpv6.php

Services: Kea: DDNS: Add subnet specific qualifying suffix and prevent updates if no server is set.
DeltaFile
+13-4src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.php
+12-2src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.php
+10-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet6.xml
+10-1src/opnsense/mvc/app/controllers/OPNsense/Kea/forms/dialogSubnet4.xml
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+1-0src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+47-86 files

OPNSense/ports 2ec811dopnsense/filterlog-go distinfo Makefile

opnsense/filterlog-go: update to 0.9.0
DeltaFile
+5-5opnsense/filterlog-go/distinfo
+1-1opnsense/filterlog-go/Makefile
+6-62 files

OPNSense/core d21ce06src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.xml KeaDhcpv6.xml

kea: improve validation message via @monviech's suggestion
DeltaFile
+2-2src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+2-2src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+4-42 files

OPNSense/core 7933d1bsrc/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.xml KeaDhcpv6.xml

Services: Kea: DHCPv4/v6: Use SetConstraint for match_data to allow 0 as valid value (#10035)
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+1-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+2-22 files

OPNSense/core cff0a4csrc/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.xml KeaDhcpv6.xml

Services: Kea: DHCPv4/v6: Use SetConstraint for match_data to allow 0 as valid value
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+1-1src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+2-22 files

OPNSense/core 9cf1683src/opnsense/mvc/app/models/OPNsense/Kea KeaDhcpv4.xml KeaDhcpv6.xml

Services: Kea: DHCPv4/v6: Use SetConstraint to allow 0 to count as valid value. Since none of these fields are boolean, change it for all of them.
DeltaFile
+10-10src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv4.xml
+10-10src/opnsense/mvc/app/models/OPNsense/Kea/KeaDhcpv6.xml
+20-202 files

OPNSense/core ae57fadsrc/opnsense/mvc/app/models/OPNsense/Base/Constraints SetConstraint.php

mvc: fix typo in previous
DeltaFile
+1-1src/opnsense/mvc/app/models/OPNsense/Base/Constraints/SetConstraint.php
+1-11 files

OPNSense/core f46de94src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms dialogDNatRule.xml

firmware: adjust help text

PR: https://www.reddit.com/r/opnsense/comments/1s2tb0c/destination_nat_and_new_rules/
DeltaFile
+1-1src/opnsense/mvc/app/controllers/OPNsense/Firewall/forms/dialogDNatRule.xml
+1-11 files

OPNSense/core 292a788. plist, src/opnsense/mvc/app/models/OPNsense/Base/Constraints SetConstraint.php DependConstraint.php

mvc: add SetConstraint for #10029
DeltaFile
+63-0src/opnsense/mvc/app/models/OPNsense/Base/Constraints/SetConstraint.php
+28-29src/opnsense/mvc/app/models/OPNsense/Base/Constraints/DependConstraint.php
+38-0src/opnsense/mvc/tests/app/models/OPNsense/Base/BaseModelTest.php
+20-0src/opnsense/mvc/tests/app/models/OPNsense/Base/BaseModel/TestModel.xml
+5-2src/opnsense/mvc/app/models/OPNsense/Base/Constraints/SetIfConstraint.php
+1-0plist
+155-316 files

OPNSense/core dc04120src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterBaseController.php

firewall: adjust sort order in networks and aliases; closes #10022 #10031

While here also switch to use the cached model exclusively and change the
formatting of address/network shortcuts actually calling them "network".
DeltaFile
+53-29src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterBaseController.php
+53-291 files

OPNSense/core 4db48f0Mk git.mk

make: unhide PHP error in `vim' target
DeltaFile
+1-1Mk/git.mk
+1-11 files

OPNSense/plugins 8788b22security/acme-client pkg-descr

security/acme-client: update changelog
DeltaFile
+3-0security/acme-client/pkg-descr
+3-01 files

OPNSense/plugins af38ee4security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient LeCertificate.php

Merge pull request #5282 from pgerber/common-name

security/acme-client: always use configured cert name in cert description
DeltaFile
+2-8security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeCertificate.php
+2-81 files

OPNSense/plugins fe22642security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeAutomation AcmeTruenasws.php AcmeTruenasWS.php

security/acme-client: fix truenas_ws filename, refs #5309
DeltaFile
+48-0security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeAutomation/AcmeTruenasws.php
+0-48security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeAutomation/AcmeTruenasWS.php
+48-482 files