FreeBSD Errata Notice FreeBSD-EN-25:12.efi
8 August, 2025 by errata-notices@freebsd.org | freebsd
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 ============================================================================= FreeBSD-EN-25:12.efi Errata Notice The FreeBSD Project Topic: bsdinstall(8) not copying the correct loader on systems with IA32 UEFI firmware. Category: core Module: efi Announced: 2025-08-08 Affects: FreeBSD 14.3 Corrected: 2025-06-16 23:07:25 UTC (stable/14, 14.3-STABLE) 2025-08-08 00:39:02 UTC (releng/14.3, 14.3-RELEASE-p2) For general information regarding FreeBSD Errata Notices and Security Advisories, including descriptions of the fields above, security branches, and the following sections, please visit <URL:https://security.FreeBSD.org/>. I. Background bsdinstall(8) checks the machdep.efi_arch sysctl and depending on its value, it either copies loader.efi or loader_ia32.efi. II. Problem Description The commit that added the machdep.efi_arch sysctl was not MFCed in time for releng/14.3, however, the commit that added support for loader_ia32.efi in bsdinstall(8) was. The result is that bsdinstall(8) always copies loader.efi. III. Impact bsdinstall(8) copying loader.efi regardless of the firmware's architecture results in an unbootable system after install for systems which expect a 32-bit UEFI loader. IV. Workaround loader_ia32.efi can be manually copied to /boot/efi/efi/boot/bootia32.efi where the EFI boot partition is mounted at /boot/efi. Systems which have 64-bit UEFI firmware are unaffected. Non x86 systems are likewise unaffected. V. Solution Upgrade your system to a supported FreeBSD stable or release / security branch (releng) dated after the correction date and reboot the system. Perform one of the following: 1) To update your system via a binary patch: Systems running a RELEASE version of FreeBSD on the amd64 or arm64 platforms, or the i386 platform on FreeBSD 13, can be updated via the freebsd-update(8) utility: # freebsd-update fetch # freebsd-update install # reboot 2) To update your system via a source code patch: The following patches have been verified to apply to the applicable FreeBSD release branches. a) Download the relevant patch from the location below, and verify the detached PGP signature using your PGP utility. # fetch https://security.FreeBSD.org/patches/EN-25:12/efi.patch # fetch https://security.FreeBSD.org/patches/EN-25:12/efi.patch.asc # gpg --verify efi.patch.asc b) Apply the patch. Execute the following commands as root: # cd /usr/src # patch < /path/to/patch c) Recompile your kernel as described in <URL:https://www.FreeBSD.org/handbook/kernelconfig.html> and reboot the system. VI. Correction details This issue is corrected as of the corresponding Git commit hash in the following stable and release branches: Branch/path Hash Revision - ------------------------------------------------------------------------- stable/14/ 0e8890a425bc stable/14-n271710 releng/14.3/ ce4fe4c4bfcd releng/14.3-n271435 - ------------------------------------------------------------------------- Run the following command to see which files were modified by a particular commit: # git show --stat <commit hash> Or visit the following URL, replacing NNNNNN with the hash: <URL:https://cgit.freebsd.org/src/commit/?id=NNNNNN> To determine the commit count in a working tree (for comparison against nNNNNNN in the table above), run: # git rev-list --count --first-parent HEAD VII. References The latest revision of this advisory is available at <URL:https://security.FreeBSD.org/advisories/FreeBSD-EN-25:12.efi.asc> -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEthUnfoEIffdcgYM7bljekB8AGu8FAmiVShUACgkQbljekB8A Gu/B+xAAy3AcOLVmDr4YNs0PXwENZ5Xqg00TYgSXSRl/iA+wk4h7XFcaytdVUgk5 nX0dLZGTyZoQpmdiX8HsVht95XONfdhwoPxUtWFTY9SWBYh859IjFHTpr8E/MXHH lAmbs7H0W/lw4Fqm6xs6+esXitaBE2Q3rgl0LFI0BbEfHdGiNz/qWYXR2U+qVAPY 5aiC9tcvRU3pNLLN7XGIophVjL10k1iuwzQeKGDopzBx7qVFklRSDb1oe1BawDYh jkn+mqzpkgqEIVdgsZSKGO5lpEMCtDwgyA7uIik/QE525oNVpsWfJ/aHbDapB+1P pFYH/yWpI/eT3DVMnTiNhCBkBcm0pCWJZlLTKcLU19fm8wMxq01H5FqqueBLrh39 LztN/xnmdpAoG1AytICoV86gbRy4fnCbbbhLOLWhPVfc6q2UyJUHa1LjR3LtSeNG 0f+evVM81IfG0Niynqcy/DEIem0aamFUJhqU6aJISj+aVGd9PRp2JhVllbkiR7H/ xd3dnEHtLt6wCJh1PlK+3Sa2WuSDDRWo1WCmx1xvUI+5VWl4HL8f+YoQl8aOu0DR XnpxyAqD+4uTXiQOhf+9HuteoTq9aePbUef5qkSQXXxOtohUL6xvq62Zb1HU6Jbs ZpGd15oa4o4yJXTu1lEE/D/dSZhtX2rACh+GzEW9vt6lIUZENe0=7zQB -----END PGP SIGNATURE-----