FreeBSD VuXML: Documenting security issues in FreeBSD and the FreeBSD Ports Collection

FreeBSD -- Missing large page handling in pmap_pkru_update_range()

Affected packages
15.0 <= FreeBSD-kernel < 15.0_6
14.4 <= FreeBSD-kernel < 14.4_2
14.3 <= FreeBSD-kernel < 14.3_11
13.5 <= FreeBSD-kernel < 13.5_12

Details

VuXML ID 128951d0-3df0-11f1-bb07-bc241121aa0a
Discovery 2026-04-21
Entry 2026-04-22

Problem Description:

In order to apply a particular protection key to an address range, the kernel must update the corresponding page table entries. The subroutine which handled this failed to take into account the presence of 1GB largepage mappings created using the shm_create_largepage(3) interface. In particular, it would always treat a page directory page entry as pointing to another page table page.

Impact:

The bug can be abused by an unprivileged user to cause pmap_pkru_update_range() to treat userspace memory as a page table page, and thus overwrite memory to which the application would otherwise not have access.

References

CVE Name CVE-2026-6386
FreeBSD Advisory SA-26:11.amd64