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

FreeBSD-SA-26:05.route

24 February 2026

Local DoS and possible privilege escalation via routing sockets

FreeBSD-SA-26:06.tcp

26 March 2026

TCP: remotely exploitable DoS vector (mbuf leak)

FreeBSD-SA-26:08.rpcsec_gss

26 March 2026

Remote code execution via RPCSEC_GSS packet validation

FreeBSD-SA-26:09.pf

25 March 2026

pf silently ignores certain rules

FreeBSD-SA-26:10.tty

21 April 2026

Kernel use-after-free bug in the TIOCNOTTY handler

FreeBSD-SA-26:11.amd64

21 April 2026

Missing large page handling in pmap_pkru_update_range()

FreeBSD-SA-26:12.dhclient

29 April 2026

Remote code execution via malicious DHCP options

FreeBSD-SA-26:13.exec

29 April 2026

Local privilege escalation via execve()

FreeBSD-SA-26:14.pf

29 April 2026

pf can overflow the stack parsing crafted SCTP packets

FreeBSD-SA-26:15.dhclient

29 April 2026

Remotely triggerable out-of-bounds heap write in dhclient

FreeBSD-SA-26:16.libnv

29 April 2026

Stack overflow via select() file descriptor set overflow

FreeBSD-SA-26:17.libnv

29 April 2026

Heap overflow in libnv

FreeBSD-SA-26:18.setcred

20 May 2026

Stack buffer overflow via setcred(2)

FreeBSD-SA-26:19.file

20 May 2026

Kernel use-after-free via file descriptor syscalls

FreeBSD-SA-26:20.fusefs

20 May 2026

Heap overflow in FUSE_LISTXATTR

FreeBSD-SA-26:21.ptrace

20 May 2026

Missing validation in ptrace(PT_SC_REMOTE)

FreeBSD-SA-26:22.libcasper

20 May 2026

select(2) file descriptor set overflow causes stack overflow

FreeBSD-SA-26:23.bsdinstall

20 May 2026

Remote code execution via installer Wi-Fi access point scans

FreeBSD-SA-26:24.cap_net

20 May 2026

Incorrect libcap_net limitation list manipulation

FreeBSD-SA-26:25.thr

9 June 2026

Missing permission check in thr_kill2(2)

FreeBSD-SA-26:26.ktls

9 June 2026

Arbitrary file overwrite via the KTLS receive path

FreeBSD-SA-26:27.sound

9 June 2026

Multiple vulnerabilities in the sound(4) mmap path

FreeBSD-SA-26:28.capsicum

9 June 2026

sigqueue(2) missing capability mode restriction

FreeBSD-SA-26:29.ip6_multicast

9 June 2026

Use-after-free bug in the IPV6_MSFILTER socket option handler

FreeBSD-SA-26:30.linux

9 June 2026

Flaw in Linuxulator execution of setugid binaries

FreeBSD-SA-26:31.arm64

9 June 2026

Arm CPU errata may bypass page table permission changes

FreeBSD-SA-26:32.elf

9 June 2026

ASLR bypass for setuid executables via procctl(2)

FreeBSD-SA-26:33.unbound

9 June 2026

Multiple vulnerabilities in unbound

FreeBSD-SA-26:34.vt

9 June 2026

Integer overflow in vt(4) CONS_HISTORY ioctl

FreeBSD-SA-26:35.openssl

9 June 2026

Multiple vulnerabilities in OpenSSL

FreeBSD-SA-26:36.ldns

9 June 2026

Insufficient response validation in the ldns stub resolver

FreeBSD-SA-26:37.vm

30 June 2026

Use-after-free in device pager page list

FreeBSD-SA-26:39.execve

30 June 2026

Local privilege escalation via execve(2) TOCTOU race

FreeBSD-SA-26:40.zfs

30 June 2026

Multiple vulnerabilities in OpenZFS

FreeBSD-SA-26:41.libalias

30 June 2026

Buffer overflow in libalias RTSP handler

FreeBSD-SA-26:42.unlinkat

30 June 2026

unlinkat(2) ignores AT_RESOLVE_BENEATH flag

FreeBSD-SA-26:43.tcp

30 June 2026

Use-after-free in TCP RACK stack option handler

FreeBSD-SA-26:44.posixshm

30 June 2026

Multiple vulnerabilities in POSIX largepage objects

FreeBSD-SA-26:45.audit

30 June 2026

Incorrect audit records for ptrace(2) syscall requests

FreeBSD-SA-26:46.ktls

30 June 2026

Remote DOS via uninitialized memory access in KTLS receive

FreeBSD-SA-26:47.linux

30 June 2026

Kernel stack disclosure in Linux compatibility layer

FreeBSD-SA-26:48.compat32

30 June 2026

Kernel stack disclosure in 32-bit compatibility support

FreeBSD-SA-26:49.iconv

30 June 2026

Multiple vulnerabilities in iconv(3)

FreeBSD-SA-26:52.if_wg

29 July 2026

Missing MAC validation in wg(4) packet decryption

FreeBSD-SA-26:54.sysvsem

29 July 2026

Heap out-of-bounds access in semctl(2)

FreeBSD-SA-26:55.elf

29 July 2026

Race condition in ELF core dump segment counting

FreeBSD-SA-26:56.hwpmc

25 August 2026

hwpmc fails to detach PMCs during exec credential transitions

FreeBSD-SA-26:58.sound

25 August 2026

Kernel use-after-free via the SNDCTL_DSP_SYNCSTART ioctl

FreeBSD-SA-26:61.openssl

25 August 2026

Multiple vulnerabilities in OpenSSL

FreeBSD-SA-26:62.tty

25 August 2026

Kernel use-after-free via tty ioctls

FreeBSD-SA-26:63.posixshm

25 August 2026

TOCTOU race in POSIX shared memory large page configuration

Errata Notices

Errata Date Topic

FreeBSD-EN-26:05.vm

21 April 2026

The page fault handler fails to zero memory

FreeBSD-EN-26:06.timerfd

21 April 2026

Periodic timerfd(2) timers may produce incorrect results

FreeBSD-EN-26:09.tzdata

29 April 2026

Timezone database information update

FreeBSD-EN-26:10.amd64

29 April 2026

TLB invalidation bug on AMD systems with INVLPGB

FreeBSD-EN-26:11.dhclient

1 May 2026

dhclient(8) lease validation is too strict

FreeBSD-EN-26:13.freebsd-update

20 May 2026

freebsd-update attempts to merge a generated file

FreeBSD-EN-26:15.openssl

9 June 2026

Update OpenSSL to 3.0.20 and 3.5.6

FreeBSD-EN-26:16.arm64

30 June 2026

32-bit setcontext(2) and swapcontext(2) fail on arm64

FreeBSD-EN-26:18.tzdata

29 July 2026

Timezone database information update

FreeBSD-EN-26:20.microcode

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