FreeBSD 14.5-RELEASE Release Notes
Abstract
The release notes for FreeBSD 14.5-RELEASE contain a summary of the changes made to the FreeBSD base system on the 14-STABLE development line. This document lists applicable security advisories that were issued since the last release, as well as significant changes to the FreeBSD kernel and userland. Some brief remarks on upgrading are also presented.
Introduction
This document contains the release notes for FreeBSD 14.5-RELEASE. It describes recently added, changed, or deleted features of FreeBSD. It also provides some notes on upgrading from previous versions of FreeBSD.
The "release" distribution to which these release notes apply represents the latest point along the 14-STABLE development branch since 14-STABLE was created. Information regarding pre-built, binary "release" distributions along this branch can be found at https://www.FreeBSD.org/releases/.
The "release" distribution to which these release notes apply represents a point along the 14-STABLE development branch between 14.4-RELEASE and the future 14.6-RELEASE. Information regarding pre-built, binary "release" distributions along this branch can be found at https://www.FreeBSD.org/releases/.
This distribution of FreeBSD 14.5-RELEASE is a "release" distribution. It can be found at https://www.FreeBSD.org/releases/ or any of its mirrors. More information on obtaining this (or other) "release" distributions of FreeBSD can be found in the Obtaining FreeBSD appendix to the FreeBSD Handbook.
All users are encouraged to consult the release errata before installing FreeBSD. The errata document is updated with "late-breaking" information discovered late in the release cycle or after the release. Typically, it contains information on known bugs, security advisories, and corrections to documentation. An up-to-date copy of the errata for FreeBSD 14.5-RELEASE can be found on the FreeBSD Web site.
This document describes the most user-visible new or changed features in FreeBSD since 14.4-RELEASE. In general, changes described here are unique to the 14-STABLE branch unless specifically marked as MERGED features.
Typical release note items document recent security advisories issued after 14.4-RELEASE, new drivers or hardware support, new commands or options, major bug fixes, or contributed software upgrades. They may also list changes to major ports/packages or release engineering practices. Clearly the release notes cannot list every single change made to FreeBSD between releases; this document focuses primarily on security advisories, user-visible changes, and major architectural improvements.
Upgrading from Previous Releases of FreeBSD
Binary upgrades between RELEASE versions (and snapshots of the various security branches) are supported using the freebsd-update(8) utility. See the release-specific upgrade procedure, FreeBSD 14.5-RELEASE upgrade information, with more details in the FreeBSD handbook binary upgrade procedure. This will update unmodified userland utilities, as well as unmodified GENERIC kernels distributed as a part of an official FreeBSD release. The freebsd-update(8) utility requires that the host being upgraded have Internet connectivity.
Source-based upgrades (those based on recompiling the FreeBSD base system from source code) from previous versions are supported, according to the instructions in /usr/src/UPDATING.
|
Upgrading FreeBSD should only be attempted after backing up all data and configuration files. |
Security and Errata
This section lists the various Security Advisories and Errata Notices since 14.4-RELEASE.
Security Advisories
| Advisory | Date | Topic |
|---|---|---|
24 February 2026 |
Local DoS and possible privilege escalation via routing sockets |
|
26 March 2026 |
TCP: remotely exploitable DoS vector (mbuf leak) |
|
26 March 2026 |
Remote code execution via RPCSEC_GSS packet validation |
|
25 March 2026 |
pf silently ignores certain rules |
|
21 April 2026 |
Kernel use-after-free bug in the TIOCNOTTY handler |
|
21 April 2026 |
Missing large page handling in pmap_pkru_update_range() |
|
29 April 2026 |
Remote code execution via malicious DHCP options |
|
29 April 2026 |
Local privilege escalation via execve() |
|
29 April 2026 |
pf can overflow the stack parsing crafted SCTP packets |
|
29 April 2026 |
Remotely triggerable out-of-bounds heap write in dhclient |
|
29 April 2026 |
Stack overflow via select() file descriptor set overflow |
|
29 April 2026 |
Heap overflow in libnv |
|
20 May 2026 |
Stack buffer overflow via setcred(2) |
|
20 May 2026 |
Kernel use-after-free via file descriptor syscalls |
|
20 May 2026 |
Heap overflow in FUSE_LISTXATTR |
|
20 May 2026 |
Missing validation in ptrace(PT_SC_REMOTE) |
|
20 May 2026 |
select(2) file descriptor set overflow causes stack overflow |
|
20 May 2026 |
Remote code execution via installer Wi-Fi access point scans |
|
20 May 2026 |
Incorrect libcap_net limitation list manipulation |
|
9 June 2026 |
Missing permission check in thr_kill2(2) |
|
9 June 2026 |
Arbitrary file overwrite via the KTLS receive path |
|
9 June 2026 |
Multiple vulnerabilities in the sound(4) mmap path |
|
9 June 2026 |
sigqueue(2) missing capability mode restriction |
|
9 June 2026 |
Use-after-free bug in the IPV6_MSFILTER socket option handler |
|
9 June 2026 |
Flaw in Linuxulator execution of setugid binaries |
|
9 June 2026 |
Arm CPU errata may bypass page table permission changes |
|
9 June 2026 |
ASLR bypass for setuid executables via procctl(2) |
|
9 June 2026 |
Multiple vulnerabilities in unbound |
|
9 June 2026 |
Integer overflow in vt(4) CONS_HISTORY ioctl |
|
9 June 2026 |
Multiple vulnerabilities in OpenSSL |
|
9 June 2026 |
Insufficient response validation in the ldns stub resolver |
|
30 June 2026 |
Use-after-free in device pager page list |
|
30 June 2026 |
Local privilege escalation via execve(2) TOCTOU race |
|
30 June 2026 |
Multiple vulnerabilities in OpenZFS |
|
30 June 2026 |
Buffer overflow in libalias RTSP handler |
|
30 June 2026 |
unlinkat(2) ignores AT_RESOLVE_BENEATH flag |
|
30 June 2026 |
Use-after-free in TCP RACK stack option handler |
|
30 June 2026 |
Multiple vulnerabilities in POSIX largepage objects |
|
30 June 2026 |
Incorrect audit records for ptrace(2) syscall requests |
|
30 June 2026 |
Remote DOS via uninitialized memory access in KTLS receive |
|
30 June 2026 |
Kernel stack disclosure in Linux compatibility layer |
|
30 June 2026 |
Kernel stack disclosure in 32-bit compatibility support |
|
30 June 2026 |
Multiple vulnerabilities in iconv(3) |
|
29 July 2026 |
Missing MAC validation in wg(4) packet decryption |
|
29 July 2026 |
Heap out-of-bounds access in semctl(2) |
|
29 July 2026 |
Race condition in ELF core dump segment counting |
|
25 August 2026 |
hwpmc fails to detach PMCs during exec credential transitions |
|
25 August 2026 |
Kernel use-after-free via the SNDCTL_DSP_SYNCSTART ioctl |
|
25 August 2026 |
Multiple vulnerabilities in OpenSSL |
|
25 August 2026 |
Kernel use-after-free via tty ioctls |
|
25 August 2026 |
TOCTOU race in POSIX shared memory large page configuration |
Errata Notices
| Errata | Date | Topic |
|---|---|---|
21 April 2026 |
The page fault handler fails to zero memory |
|
21 April 2026 |
Periodic timerfd(2) timers may produce incorrect results |
|
29 April 2026 |
Timezone database information update |
|
29 April 2026 |
TLB invalidation bug on AMD systems with INVLPGB |
|
1 May 2026 |
dhclient(8) lease validation is too strict |
|
20 May 2026 |
freebsd-update attempts to merge a generated file |
|
9 June 2026 |
Update OpenSSL to 3.0.20 and 3.5.6 |
|
30 June 2026 |
32-bit setcontext(2) and swapcontext(2) fail on arm64 |
|
29 July 2026 |
Timezone database information update |
|
25 August 2026 |
Early loading of Intel CPU microcode fails for some CPUs |
Userland
This section covers changes and additions to userland applications, contributed software, and system utilities.
Userland Configuration Changes
Local-unbound-setup now properly configures DNS resolution on IPv6-only systems by disabling unsupported protocols in the server configuration and using 127.0.0.1, ::1, or both in resolv.conf based on kernel support. 973d1f2b12ab.
The /etc/protocols file has been updated with the latest IANA assignments, including documentation of unassigned and deprecated protocols. 9f9f0d3d9e1c.
The lpd(8) daemon now correctly uses the port number specified in /etc/printcap instead of ignoring it, restoring a feature broken since the addition of IPv6 support in 2000. 85852fe5e4a9.
Userland Application Changes
The rc.firewall script now supports reading IP addresses or subnets from on-disk files for the firewall_allowservices and firewall_trusted list variables. Elements that look like absolute paths are read line by line, skipping comments and blank lines, and the first word on each line is treated as an address or subnet.
10075baae2c1.
The default history size in sh(1) has been increased from 100 to 128, complying with the POSIX.1-2024 minimum requirement. 9bc3d8e002b9.
LTO-10 and LTO-10P density codes and cartridge specifications have been added to mt(1) and libmt, enabling detection and reporting of the new tape formats. 5f55c59cbab5. (Sponsored by Spectra Logic)
The default behavior of pwd(1) has changed from -P to -L, aligning with POSIX semantics. ae75d4bdc12b.
The ipfw(8) binary now includes a fallback mechanism to support the new kernel interface introduced in FreeBSD 15.0. When running with a 15.0+ kernel, ipfw(8) automatically invokes a bundled ipfw15 binary to load firewall rules, ensuring compatibility during upgrade procedures. 704ec5e68c44.
The daemon(8) utility now supports the -m option to specify the output file mode, allowing non-root log collectors to access log files. cc35db95eb9e.
Contributed Software
The default linker for clang on FreeBSD is now ld.lld (LLD) instead of following the generic ld search path. f81c82a9db12.
Expat has been updated to version 2.8.1. 84f7ee30767b.
file(1) has been updated to 5.47. d58218761eeb.
ldns has been updated to version 1.9.2. 222648172b80.
less(1) has been updated to 704. 7cc6a5d46484.
libarchive has been updated to version 3.8.7. This update includes bugfixes for vulnerabilities, memory leaks, and crashes in multiple archive format readers. 2dddbb67c6a1.
libpcap has been updated to 1.10.6. 09db15067248. (Sponsored by The FreeBSD Foundation)
LLVM and related components have been updated to version 21.1.8. 502fd5427dc8.
mandoc(1) has been updated to 2025-09-26. f763f12ed5eb.
ncurses(3) has been updated to 6.6. 8de7c76ee02f.
The openresolv utility has been updated to version 3.17.4, which brings numerous improvements to the resolvconf implementation, including updated man pages and configuration file documentation, as well as new compatibility scripts for avahi-daemon, mDNSResponder, and systemd-resolved. 266022bf0b60.
openresolv now trims leading dots from domain names in resolvconf, which affects DNS resolution behavior for users with such configurations. aad298c8f9ca.
OpenSSL has been updated to 3.0.21. ca66129a2c8a.
The pci_vendors database has been updated to the 2026-02-10 version. b28b6c6d33ac.
The root certificate bundle has been updated to match NSS 3.123.1, adding new trusted CA certificates and moving others to untrusted. 09bb6a62d00f.
tcpdump(1) has been updated to 4.99.6. 8a0d626219f1. (Sponsored by The FreeBSD Foundation)
tzcode has been updated to 2026c. 3ab59366fed8.
The tzdata database has been updated to version 2026c. 819af80de8e8.
unbound(8) has been updated to version 1.26.0. c555236ec76f.
USB vendor list updated to 2025.12.13. 2f866e0547bd.
xz(1) has been updated to 5.8.3. e32e126c136d.
Deprecated Applications
The lpr(1) suite of programs has been deprecated and may be removed before FreeBSD 16.0. Better-maintained alternatives are available in the Ports Collection (print/cups, sysutils/LPRng). b734006cafa1.
Runtime Libraries and API
The sortlist parser in libc’s resolver has been reimplemented, restoring the ability to configure address sort order in /etc/resolv.conf. Sorting of IPv4 and IPv6 addresses is now functional again, with updated documentation. fc00e7a18cde.
The libc resolver option parser now strictly validates option names and values, rejecting trailing garbage, negative values, and non-numeric arguments, which changes behavior for malformed resolv.conf options. b52d95bf1494.
C23-standard trigonometric functions using the pi multiplier (such as sinpi, cospi, and related variants) are now exposed in <math.h>. This extends the available math library APIs to align with the C23 standard. 69b3aa35469a.
The inotify API is now available in libc, providing inotify_init(3), inotify_init1(3), and inotify_add_watch(3) functions for file system event monitoring. e61884183ed4. (Sponsored by Klara, Inc.)
Cloud Support
This section covers changes in support for cloud environments.
Kernel
This section covers changes to kernel configurations, system tuning, and system control parameters that are not otherwise categorized.
General Kernel Changes
A new security knob disables unprivileged access to the kernel environment (kenv), including jailed root, to protect sensitive data. System administrators can configure this via the documented sysctl/tunable. Manual pages updated to reflect the new behavior. c839c1566147.
Adds inotify_init(2), inotify_add_watch(2), and inotify_rm_watch(2) system calls for source compatibility with Linux, allowing applications to monitor filesystem events in a directory hierarchy without opening each file. 296d7f95aab8. (Sponsored by Klara, Inc.)
Devices and Drivers
This section covers changes and additions to devices and device drivers since 14.4-RELEASE.
Device Drivers
The br.lenovo.kbd keyboard layout is now installed and available in the system.
ca42bd490891.
The US international keyboard layout with accented keys us.intl.acc.kbd is now installed by default and available in the system.
823889aaafa3.
The smartpqi(4) driver has been updated with new controller support and a 32-bit I/O buffer size for passthrough ioctls, replacing the previous 16-bit limit. 8accd4d99f81. (Sponsored by Microchip Technology Inc.)
The acpi(4) driver now supports power management on Apple Mac hardware with dual GPUs by enabling the Darwin OSI by default, which uses the integrated GPU for improved battery life. This behavior can be toggled with the tunable hw.acpi.apple_darwin_osi.
964c97aa80ec.
The ahci(4) driver now supports an additional Marvell 88SE9128 SATA controller variant (device ID 0x91a3), enabling proper operation on systems with this chip (e.g., Gigabyte GA-P55A-UD4 motherboards). 487eeda542a7.
Deprecated and Removed Drivers
The asmc(4) driver no longer supports 32-bit Intel-based Macs. Users of 32-bit hardware are affected by this removal. 432c95c57bb5.
Storage
This section covers changes and additions to file systems and other storage subsystems, both local and networked.
General Storage
The msdosfs(4) filesystem now supports file names containing Unicode surrogate pairs, enabling full access to files with emoji and other characters beyond the Basic Multilingual Plane on FAT32 volumes. e71ad3f7a6b1.
Boot Loader Changes
This section covers the boot loader, boot menu, and other boot-related changes.
Boot Loader Changes
Fixed a boot loader bug in loader.efi(8) for amd64 where late staging area movement after page table computation could cause boot failures, particularly when loading microcode or a large set of modules. 8dca7fccfa65. (Sponsored by Netflix)
Boot loader on powerpc64le works around a SLOF bug in QEMU by adding padding, fixing booting on little-endian PowerPC systems. 5d2b9a17b9c6. (Sponsored by Netflix)
The lualoader now supports be-list and be-switch commands, allowing boot environment changes from the loader command prompt. bddfcbd9bbc6.
The boot loader’s Lua core now follows symlinks when searching for bootable kernels. 1841091eaa0b.
bsdinstall(8) now correctly creates a FreeBSD UEFI boot entry after installation, fixing a regression where some machines could not boot due to a missing boot entry. cfdd90abab51.
The boot loader’s Lua scripting now supports filtering the list of boot environments via a user-defined callback in local.lua, allowing operators to hide certain BEs (e.g., those with a leading dot). 9ef671ef0c6c.
The loader now prefers the embedded memory disk as the current device when built with MD_IMAGE_SIZE, improving boot behavior for such configurations. a4a3825d3e1d. (Sponsored by Chelsio Communications)
The ZFS rc script now runs before the tmp rc script, ensuring ZFS datasets (including a /tmp dataset) are mounted before tmp attempts to test writability and possibly mount a tmpfs. This fixes issues with read-only ZFS roots and the tmpmfs=yes setting.
b39cac4b834c.
Fix for handling of foreground and background color settings in the loader’s graphical console environment, ensuring that the environment can set either independently and that colors are correctly applied when switching to the kernel. 14c8e003318b.
Nvidia kernel modules are now blacklisted by the loader to prevent panics if loaded early via loader.conf. The nvidia, nvidia-modeset, and nvidia-drm modules are denied loading at boot time. 7db1376bd151.
The boot logo positions for Beastie and fbsdbw have been corrected. 9ac7e0362a24. (Sponsored by PANS Jarosław)
Networking
This section describes changes that affect networking in FreeBSD.
General Network
Hardware Support
This section covers general hardware support for physical machines, hypervisors, and virtualization environments, as well as hardware changes and updates that do not otherwise fit in other sections of this document.
Please see the list of hardware supported by 14.5-RELEASE, as well as the platforms page for the complete list of supported CPU architectures.
Virtualization Support
Documentation
This section covers changes to manual (man(1)) pages and other documentation shipped with the base system.
Man Pages
Manual pages for libusb20_open(3) and libusb20_be_device_foreach(3) have been added, documenting these library functions. 3e05b2366af1.
Manual page mq_getfd_np(3) documents the function that retrieves the file descriptor from a message queue descriptor. 11a0cf32a232.
Manual page for realpath(3) has been updated: RETURN VALUES section improved, SEE ALSO section expanded with basename(3), dirname(3), and free(3), and obsolete CAVEATS section removed. f5b8309b9f63. (Sponsored by Klara, Inc.)
The dwcotg(4) manual page has been added, documenting the DesignWare USB OTG controller driver and making it visible for future release notes. a1479a37fcf8.
The man page for umass(4) now includes references to the usb_quirk(4) and usbconfig(8) pages, helping users troubleshoot device-specific workarounds. f1fe71222aca. (Sponsored by Netflix)
The ports(7) reference manual’s FILES section has been expanded and reorganized into three tables, documenting additional files such as make.conf, CHANGES, CONTRIBUTING.md, UPDATING, and Tools/scripts. 5e1443211528.
Man page documentation for bhyve(8) has been updated to describe the full -c flag syntax including complex CPU topology specifiers. c92c3852a974.
Manual pages for GEOM and related tools (gcache(8),geli(8),gpart(8),ggatec(8), and ggated(8)) now consistently clarify that sizes are specified in binary units (bytes) unless an SI unit suffix is provided, and use non-breaking spaces between numbers and units. 30c821ac04c1.
Manual page documentation updated for jail(8), describing how to create a jail from a distribution set. cf16565eb929.
The deprecated -p option has been removed from lpd(8) and its manual page. 5f10e369a13a.
A new manual page sbintime(9) documents the usage of sbintime_t and its helper functions for kernel developers. 84eec65ebb27.
Added a C++ style guide section to style(9). e8a09797dd19. (Sponsored by Chelsio Communications)
Ports Collection and Package Infrastructure
This section covers changes to the FreeBSD Ports Collection, package infrastructure, and package maintenance and installation tools.
Packaging Changes
General Notes Regarding Future FreeBSD Releases
Last modified on: September 1, 2026 by Vladlen Popolitov