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

Add UPDATING entries and bump patch version

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

OPNSense/src 401deeccrypto/openssl/crypto/asn1 evp_asn1.c a_strex.c, crypto/openssl/crypto/bio bf_lbuf.c

openssl: Fix multiple vulnerabilities

This is a rollup commit from upstream to fix:
  Stack buffer overflow in CMS AuthEnvelopedData parsing (CVE-2025-15467)
  Heap out-of-bounds write in BIO_f_linebuffer on short writes (CVE-2025-68160)
  Unauthenticated/unencrypted trailing bytes with low-level OCB function calls (CVE-2025-69418)
  Out of bounds write in PKCS12_get_friendlyname() UTF-8 conversion (CVE-2025-69419)
  Missing ASN1_TYPE validation in TS_RESP_verify_response() function (CVE-2025-69420)
  NULL Pointer Dereference in PKCS12_item_decrypt_d2i_ex function (CVE-2025-69421)
  Missing ASN1_TYPE validation in PKCS#12 parsing (CVE-2026-22795)
  ASN1_TYPE Type Confusion in the PKCS7_digest_from_attributes() function (CVE-2026-22796)

See https://openssl-library.org/news/secadv/ for additional details.

Approved by:    so
Obtained from:  OpenSSL
Security:       FreeBSD-SA-26:01.openssl
Security:       CVE-2025-15467
Security:       CVE-2025-68160

    [6 lines not shown]
DeltaFile
+26-6crypto/openssl/crypto/bio/bf_lbuf.c
+20-0crypto/openssl/crypto/asn1/evp_asn1.c
+8-2crypto/openssl/crypto/modes/ocb128.c
+8-2crypto/openssl/crypto/pkcs12/p12_kiss.c
+4-2crypto/openssl/crypto/asn1/a_strex.c
+5-0crypto/openssl/crypto/pkcs12/p12_decr.c
+71-125 files not shown
+84-1811 files

OPNSense/src 163ae89tests/sys/kern jail_lookup_root.c Makefile

tests: Add a regression test for commit 7587f6d4840f8

Approved by:    so
Reviewed by:    kib
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D50533

(cherry picked from commit a5dac34f6e98c47bd7cb1946e39cc45432e167a8)
(cherry picked from commit f56b66f1260a33e49c65bbc05213ec8267978a93)
DeltaFile
+171-0tests/sys/kern/jail_lookup_root.c
+2-0tests/sys/kern/Makefile
+173-02 files

OPNSense/src 6f7cf6bsys/sys namei.h

namei: clear internal flags in NDREINIT()

same as it is done for NDRESTART()

Approved by:    so
Fixes:  e05e33041c252
Reported and tested by: pho
Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 58b2bd33aff71c0268d99d63e9c83f6544d3beb3)
(cherry picked from commit 53963866f7088dd96f6d56169e6b4fb899277306)
DeltaFile
+1-0sys/sys/namei.h
+1-01 files

OPNSense/src 81eacb8sys/kern vfs_vnops.c

vfs: Don't clobber namei flags in vn_open_cred()

Otherwise NAMEILOOKUP is cleared.  More generally it seems quite
surprising that the flags set by vn_open_cred() callers are not
automatically preserved.  Modify open2nameif() such that it takes
already-set namei flags into account.

Approved by:    so
Reviewed by:    olce, kib
Fixes:          7587f6d4840f ("namei: Make stackable filesystems check harder for jail roots")
Differential Revision:  https://reviews.freebsd.org/D50531

(cherry picked from commit e05e33041c252dc236939683c01ca4b7b083562c)
(cherry picked from commit a66767844690dfd82e14df2d22bd9bc40e46546b)
DeltaFile
+14-8sys/kern/vfs_vnops.c
+14-81 files

OPNSense/src 0b5aa71sys/kern vfs_cache.c

vfs cache: Add NAMEILOOKUP to the whitelist of fastpath lookup flags

Otherwise the lockless name lookup path is inadvertently disabled since
NAMEILOOKUP isn't recognized.

Approved by:    so
Reviewed by:    olce, kib
Fixes:          7587f6d4840f ("namei: Make stackable filesystems check harder for jail roots")
Differential Revision:  https://reviews.freebsd.org/D50532

(cherry picked from commit f4158953007f557061d91f99d2374d48d8376cc6)
(cherry picked from commit 031cd548775c26314e6ae9cad35b01c5ab1aea6c)
DeltaFile
+1-1sys/kern/vfs_cache.c
+1-11 files

OPNSense/src ec57109sys/kern vfs_cache.c

namei: Remove a now-unused variable

Approved by:    so
Reported by:    bapt
Fixes:          7587f6d4840f ("namei: Make stackable filesystems check harder for jail roots")

(cherry picked from commit 14ec281a09d7818def2083ef0c3e28f8101f4268)
(cherry picked from commit 3f4efe392b7039686057838d723a2d43ae144be5)
DeltaFile
+1-3sys/kern/vfs_cache.c
+1-31 files

OPNSense/src 3d1e822sys/fs/nullfs null_vnops.c, sys/fs/unionfs union_vnops.c

namei: Make stackable filesystems check harder for jail roots

Suppose a process has its cwd pointing to a nullfs directory, where the
lower directory is also visible in the jail's filesystem namespace.
Suppose that the lower directory vnode is moved out from under the
nullfs mount.  The nullfs vnode still shadows the lower vnode, and
dotdot lookups relative to that directory will instantiate new nullfs
vnodes outside of the nullfs mountpoint, effectively shadowing the lower
filesystem.

This phenomenon can be abused to escape a chroot, since the nullfs
vnodes instantiated by these dotdot lookups defeat the root vnode check
in vfs_lookup(), which uses vnode pointer equality to test for the
process root.

Fix this by extending nullfs and unionfs to perform the same check,
exploiting the fact that the passed componentname is embedded in a
nameidata structure to avoid changing the VOP_LOOKUP interface.  That
is, add a flag to indicate that containerof can be used to get the full

    [13 lines not shown]
DeltaFile
+30-11sys/kern/vfs_lookup.c
+18-10sys/fs/nullfs/null_vnops.c
+21-0sys/fs/unionfs/union_vnops.c
+1-10sys/kern/vfs_cache.c
+4-1sys/sys/namei.h
+74-325 files

OPNSense/src 8b81e03sys/fs/nullfs null_vnops.c

nullfs lookup: cn_flags is 64bit

Approved by:    so

(cherry picked from commit 89549c2348170921cc4270ac95bfabfd78d42739)
(cherry picked from commit 2013ad7490f2a80d3b3260d9811422bbd25a915e)
DeltaFile
+3-3sys/fs/nullfs/null_vnops.c
+3-31 files

OPNSense/src bb4385bsys/vm vm_fault.c

vm_fault: only rely on PG_ZERO when the page was newly allocated

Approved by:    so
Security:       FreeBSD-EN-26:03.vm

(cherry picked from commit cff67bc43df14d492ccc08ec92fddceadd069953)
(cherry picked from commit 99f641267d449f26a2e13449964f29d17897c29f)
DeltaFile
+5-1sys/vm/vm_fault.c
+5-11 files

OPNSense/src 60d8992sys/vm vm_object.c

vm_object_page_remove(): clear pager even if there is no resident pages

Approved by:    so
Security:       FreeBSD-EN-26:03.vm

(cherry picked from commit 72a447d0bc768c7fe8a9c972f710c75afebd581b)
(cherry picked from commit feac4c32a5f87434a17a804d8148cea78f81ebea)
DeltaFile
+2-1sys/vm/vm_object.c
+2-11 files

OPNSense/src 7958956sys/arm64/arm64 exec_machdep.c

arm64: Correctly align the SVE signal context

The SVE signal context needs to be correctly aligned. Fix this by
creating a new macro to calculate the needed size to provide this
alignment, and use it when setting and checking the saved SVE signal
context.

Approved by:    so
Security:       FreeBSD-EN-26:02.arm64
Reported by:    cperciva
Reviewed by:    cperciva, markj
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D54396

(cherry picked from commit a9e77eb7016df70723c208fc09fbd01ec23a732d)
(cherry picked from commit bcd6bb8067d13d28d13a309e32818cda9e0d29ff)
DeltaFile
+9-5sys/arm64/arm64/exec_machdep.c
+9-51 files

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

Add UPDATING entries and bump patch version

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

OPNSense/src 7ca64abcrypto/openssl/crypto/asn1 evp_asn1.c a_strex.c, crypto/openssl/crypto/bio bf_lbuf.c

openssl: Fix multiple vulnerabilities

This is a rollup commit from upstream to fix:
  Stack buffer overflow in CMS AuthEnvelopedData parsing (CVE-2025-15467)
  Heap out-of-bounds write in BIO_f_linebuffer on short writes (CVE-2025-68160)
  Unauthenticated/unencrypted trailing bytes with low-level OCB function calls (CVE-2025-69418)
  Out of bounds write in PKCS12_get_friendlyname() UTF-8 conversion (CVE-2025-69419)
  Missing ASN1_TYPE validation in TS_RESP_verify_response() function (CVE-2025-69420)
  NULL Pointer Dereference in PKCS12_item_decrypt_d2i_ex function (CVE-2025-69421)
  Missing ASN1_TYPE validation in PKCS#12 parsing (CVE-2026-22795)
  ASN1_TYPE Type Confusion in the PKCS7_digest_from_attributes() function (CVE-2026-22796)

See https://openssl-library.org/news/secadv/ for additional details.

Approved by:    so
Obtained from:  OpenSSL
Security:       FreeBSD-SA-26:01.openssl
Security:       CVE-2025-15467
Security:       CVE-2025-68160

    [6 lines not shown]
DeltaFile
+26-6crypto/openssl/crypto/bio/bf_lbuf.c
+20-0crypto/openssl/crypto/asn1/evp_asn1.c
+8-2crypto/openssl/crypto/modes/ocb128.c
+8-2crypto/openssl/crypto/pkcs12/p12_kiss.c
+4-2crypto/openssl/crypto/asn1/a_strex.c
+5-0crypto/openssl/crypto/pkcs12/p12_decr.c
+71-125 files not shown
+84-1811 files

OPNSense/src 9f93a51tests/sys/kern jail_lookup_root.c Makefile

tests: Add a regression test for commit 7587f6d4840f8

Approved by:    so
Reviewed by:    kib
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D50533

(cherry picked from commit a5dac34f6e98c47bd7cb1946e39cc45432e167a8)
(cherry picked from commit f56b66f1260a33e49c65bbc05213ec8267978a93)
DeltaFile
+171-0tests/sys/kern/jail_lookup_root.c
+2-0tests/sys/kern/Makefile
+173-02 files

OPNSense/src 5b25bf7sys/sys namei.h

namei: clear internal flags in NDREINIT()

same as it is done for NDRESTART()

Approved by:    so
Fixes:  e05e33041c252
Reported and tested by: pho
Reviewed by:    markj
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 58b2bd33aff71c0268d99d63e9c83f6544d3beb3)
(cherry picked from commit 53963866f7088dd96f6d56169e6b4fb899277306)
DeltaFile
+1-0sys/sys/namei.h
+1-01 files

OPNSense/src 70f8422sys/kern vfs_vnops.c

vfs: Don't clobber namei flags in vn_open_cred()

Otherwise NAMEILOOKUP is cleared.  More generally it seems quite
surprising that the flags set by vn_open_cred() callers are not
automatically preserved.  Modify open2nameif() such that it takes
already-set namei flags into account.

Approved by:    so
Reviewed by:    olce, kib
Fixes:          7587f6d4840f ("namei: Make stackable filesystems check harder for jail roots")
Differential Revision:  https://reviews.freebsd.org/D50531

(cherry picked from commit e05e33041c252dc236939683c01ca4b7b083562c)
(cherry picked from commit a66767844690dfd82e14df2d22bd9bc40e46546b)
DeltaFile
+14-8sys/kern/vfs_vnops.c
+14-81 files

OPNSense/src 0b807c2sys/kern vfs_cache.c

vfs cache: Add NAMEILOOKUP to the whitelist of fastpath lookup flags

Otherwise the lockless name lookup path is inadvertently disabled since
NAMEILOOKUP isn't recognized.

Approved by:    so
Reviewed by:    olce, kib
Fixes:          7587f6d4840f ("namei: Make stackable filesystems check harder for jail roots")
Differential Revision:  https://reviews.freebsd.org/D50532

(cherry picked from commit f4158953007f557061d91f99d2374d48d8376cc6)
(cherry picked from commit 031cd548775c26314e6ae9cad35b01c5ab1aea6c)
DeltaFile
+1-1sys/kern/vfs_cache.c
+1-11 files

OPNSense/src 1e76406sys/kern vfs_cache.c

namei: Remove a now-unused variable

Approved by:    so
Reported by:    bapt
Fixes:          7587f6d4840f ("namei: Make stackable filesystems check harder for jail roots")

(cherry picked from commit 14ec281a09d7818def2083ef0c3e28f8101f4268)
(cherry picked from commit 3f4efe392b7039686057838d723a2d43ae144be5)
DeltaFile
+1-3sys/kern/vfs_cache.c
+1-31 files

OPNSense/src 0299ff6sys/fs/nullfs null_vnops.c, sys/fs/unionfs union_vnops.c

namei: Make stackable filesystems check harder for jail roots

Suppose a process has its cwd pointing to a nullfs directory, where the
lower directory is also visible in the jail's filesystem namespace.
Suppose that the lower directory vnode is moved out from under the
nullfs mount.  The nullfs vnode still shadows the lower vnode, and
dotdot lookups relative to that directory will instantiate new nullfs
vnodes outside of the nullfs mountpoint, effectively shadowing the lower
filesystem.

This phenomenon can be abused to escape a chroot, since the nullfs
vnodes instantiated by these dotdot lookups defeat the root vnode check
in vfs_lookup(), which uses vnode pointer equality to test for the
process root.

Fix this by extending nullfs and unionfs to perform the same check,
exploiting the fact that the passed componentname is embedded in a
nameidata structure to avoid changing the VOP_LOOKUP interface.  That
is, add a flag to indicate that containerof can be used to get the full

    [13 lines not shown]
DeltaFile
+30-11sys/kern/vfs_lookup.c
+18-10sys/fs/nullfs/null_vnops.c
+21-0sys/fs/unionfs/union_vnops.c
+1-10sys/kern/vfs_cache.c
+4-1sys/sys/namei.h
+74-325 files

OPNSense/src 73f5085sys/fs/nullfs null_vnops.c

nullfs lookup: cn_flags is 64bit

Approved by:    so

(cherry picked from commit 89549c2348170921cc4270ac95bfabfd78d42739)
(cherry picked from commit 2013ad7490f2a80d3b3260d9811422bbd25a915e)
DeltaFile
+3-3sys/fs/nullfs/null_vnops.c
+3-31 files

OPNSense/src 0a4a1c0sys/vm vm_fault.c

vm_fault: only rely on PG_ZERO when the page was newly allocated

Approved by:    so
Security:       FreeBSD-EN-26:03.vm

(cherry picked from commit cff67bc43df14d492ccc08ec92fddceadd069953)
(cherry picked from commit 99f641267d449f26a2e13449964f29d17897c29f)
DeltaFile
+5-1sys/vm/vm_fault.c
+5-11 files

OPNSense/src 8137bf0sys/vm vm_object.c

vm_object_page_remove(): clear pager even if there is no resident pages

Approved by:    so
Security:       FreeBSD-EN-26:03.vm

(cherry picked from commit 72a447d0bc768c7fe8a9c972f710c75afebd581b)
(cherry picked from commit feac4c32a5f87434a17a804d8148cea78f81ebea)
DeltaFile
+2-1sys/vm/vm_object.c
+2-11 files

OPNSense/src 0eb74ffsys/arm64/arm64 exec_machdep.c

arm64: Correctly align the SVE signal context

The SVE signal context needs to be correctly aligned. Fix this by
creating a new macro to calculate the needed size to provide this
alignment, and use it when setting and checking the saved SVE signal
context.

Approved by:    so
Security:       FreeBSD-EN-26:02.arm64
Reported by:    cperciva
Reviewed by:    cperciva, markj
Sponsored by:   Arm Ltd
Differential Revision:  https://reviews.freebsd.org/D54396

(cherry picked from commit a9e77eb7016df70723c208fc09fbd01ec23a732d)
(cherry picked from commit bcd6bb8067d13d28d13a309e32818cda9e0d29ff)
DeltaFile
+9-5sys/arm64/arm64/exec_machdep.c
+9-51 files

OPNSense/src 1bab723sys/netpfil/ipfw ip_fw_table_value.c

netpfil/ipfw: Fix a typo in a source code comment

- s/vaues/values/

(cherry picked from commit 9be9ab2a242080dea6254e187cf211604170de07)
DeltaFile
+1-1sys/netpfil/ipfw/ip_fw_table_value.c
+1-11 files

OPNSense/src b535c31sys/dev/e1000 if_em.c e1000_phy.c

Revert "e1000: Try auto-negotiation for fixed 100 or 10 configuration"

We've gotten a report of this breaking a fixed no autoneg setup.

Since no link is worse than what this intends to fix (negotiating full
duplex at forced speed), revert for the undeway 15.0 release cycle
until this can be further reviewed.

PR:             288827
Differential Revision:  https://reviews.freebsd.org/D47336

This reverts commit 645c45e297c0fcbbb9d2d24cdeeb124234825019.

(cherry picked from commit 3ff0231c87f360afa4521e635b46f6c711dc4ee3)
DeltaFile
+6-38sys/dev/e1000/if_em.c
+2-3sys/dev/e1000/e1000_phy.c
+8-412 files

OPNSense/src e55e4cbsys/netinet6 ip6_output.c

ipv6: account for jumbo payload option

If a jumbo payload option is added, the length of the mbuf chain is
increased by 8 but the actual hop-by-hop extension header with the
jumbo playload option is only inserted in the packet if there are
other options. Therefore, adjust optlen to reflect the actual size
of IPv6 extension headers including the hop-by-hop extension header
containing the jumbo payload option.

Reported by:            syzbot+73fe316271df473230eb at syzkaller.appspotmail.com
Reviewed by:            markj, Timo Voelker
Differential Revision:  https://reviews.freebsd.org/D54394

(cherry picked from commit 1f5b1de1fdf2924066c1851ed6c73f36fe20b438)
DeltaFile
+1-0sys/netinet6/ip6_output.c
+1-01 files

OPNSense/src 6e530e8sys/compat/linuxkpi/common/include/linux radix-tree.h, sys/compat/linuxkpi/common/src linux_radix.c

linuxkpi: Take const root in read-only radix tree functions

This is a preparation step for a future addition to this file. This is
also closer to what Linux does.

Reviewed by:    emaste
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit cf39b51d36d82214ebdfd03055d321ddd2d85274)
(cherry picked from commit c5445540995fd37c390ad371a2e95d300ee83988)
DeltaFile
+4-4sys/compat/linuxkpi/common/src/linux_radix.c
+2-2sys/compat/linuxkpi/common/include/linux/radix-tree.h
+6-62 files

OPNSense/src fc112dcsys/netinet ip_output.c

tcp: fix checksum calculation bug

The new function in_delayed_cksum_o() was introduced to compute
the checksum in the case the mbuf chain does not start with the
IP header. The offset of the IP header is specified by the
parameter iph_offset.
If iph_offset was positive, the function computed an incorrect
checksum.

Reviewed by:            sobomax, tuexen
Fixes:                  5feb38e37847 ("netinet: provide "at offset" variant of the in_delayed_cksum() API")
Differential Revision:  https://reviews.freebsd.org/D54269

(cherry picked from commit c8b3b605ae854ead6c8804e0400d80cb8fa73fdf)
DeltaFile
+2-2sys/netinet/ip_output.c
+2-21 files

OPNSense/src 1877dadsys/netinet6 ip6_input.c, tools/regression/sockets/udp_pingpong udp_pingpong.c

ip6: add SO_BINTIME support

This adds support for obtaining timestamps from IPv6 packets using the
SO_BINTIME socket option, bringing it in parity with IPv4 behavior.

Enable testing the SO_BINTIME option in the relevant (manual) regression
test.

PR:             289423
Reviewed by:    markj
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D52504

(cherry picked from commit cd02a8a9f8be2085d5242606a79668dc3720e7b0)
DeltaFile
+37-18sys/netinet6/ip6_input.c
+3-5tools/regression/sockets/udp_pingpong/udp_pingpong.c
+40-232 files