Hello, hello,
Yes, we are obviously still alive! This update addresses a number of security
issues -- first and foremost an injection into LDAP authentication that can
bypass group restrictions during login. Also included are Curl and OpenSSL
third party updates as well as FreeBSD security advisories.
Further UX tweaks reached the new firewall rules GUI, the MVC grid system and
surprising movement in the Kea corner. But maybe most importantly: the captive
portal finally gained native IPv6 support. Let us know what you think about
it!
Here are the full patch notes:
o system: escape LDAP username during search[1] (reported by Matt Andreko)
o system: dashboard gauge improvements (contributed by Konstantinos Spartalis)
o system: compress height of the log viewer grid
o firewall: fix wrong "pass" on DNAT rule when using register rule
o interfaces: configurable cleanups for automatic neighbor discovery via hostwatch
o interfaces: refactor PPP CARP hook
o firewall: adjust sort order in networks and aliases in new rules GUI
o firewall: change sorting to interface/group name and stop caring about counted rules in new rules GUI
o firewall: change category sorting using names instead of counted rules in new rules GUI
o firewall: remove tokenizer from categories and use selectpicker instead in new rules GUI
o dnsmasq: prevent "*" from being collected as "client_id"
o firmware: repeat the update after pkg reinstall
o kea: add DDNS subnet-specific qualifying suffix and prevent updates if no server is set
o kea: add sockets max-retries and retry-wait-time options
o kea: add delete lease command and use socket for up-to-date lease collection
o kea: move pool-in-subnet validation logic mostly to KeaPoolsField
o kea: remove KeaCtrlAgent dependency on HA configuration
o kea: use SetConstraint for match_data to allow 0 as valid value
o ipsec: add 4 insecure proposals for compatibility (contributed by Bjoern Jakobsen)
o captive portal: add IPv6 support (partially contributed by Alex Goodkind)
o radvd: when adding a manual instance for an automatic "track6" interface do not ignore its settings
o unbound: limit duckdb to a single thread in write mode to reduce logger memory usage
o unbound: add harden below NXDOMAIN option (contributed by Konstantinos Spartalis)
o unbound: consolidate override aliases into tree view
o mvc: BaseListField: replace empty() check with isSet() for proper selection of value "0"
o mvc: HostnameField: show string that failed validation by default
o mvc: BaseField: add setValues() for generic use
o mvc: add SetConstraint for problematic "0" value constraining
o mvc: ApiMutableModelControllerBase: remove unused error returning in setActionHook()
o ui: set visibility hidden for base_bootgrid_table
o ui: upgrade Tabulator to version 6.4.0
o ui: automatic grid height calculation
o ui: bootgrid: maintain scrolling position for both datatree and command actions
o plugins: os-acme-client 4.15[2]
o plugins: os-turnserver 1.2[3]
o src: remote code execution via RPCSEC_GSS packet validation[4]
o src: tcp: remotely exploitable DoS vector[5]
o src: pf: silently ignores certain rules[6]
o src: vnet: ensure the space allocated by vnet_data_alloc() is sufficent aligned
o src: ifnet: Fix decreasing the vnet interface count
o src: e1000: Increase FC pause/refresh time on PCH2 and newer
o src: net80211: fix VHT160/80P80/80 chanwidth selection in the "40-" case
o ports: curl 8.19.0[4]
o ports: hostwatch 1.0.13
o ports: openssl 3.0.20[5]
o ports: perl 5.42.2[6]
Stay safe,
Your OPNsense team
--
[1] https://www.cve.org/cverecord?id=CVE-2026-34578
[2] https://github.com/opnsense/plugins/blob/stable/26.1/security/acme-client/pkg-descr
[3] https://github.com/opnsense/plugins/blob/stable/26.1/net/turnserver/pkg-descr
[4] https://www.freebsd.org/security/advisories/FreeBSD-SA-26:08.rpcsec_gss.asc
[5] https://www.freebsd.org/security/advisories/FreeBSD-SA-26:06.tcp.asc
[6] https://www.freebsd.org/security/advisories/FreeBSD-SA-26:09.pf.asc