CVE-2026-6386 PUBLISHED

Missing large page handling in pmap_pkru_update_range()

Assigner: freebsd
Reserved: 15.04.2026 Published: 22.04.2026 Updated: 22.04.2026

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.

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.

Product Status

Vendor FreeBSD
Product FreeBSD
Versions Default: unknown
  • affected from 15.0-RELEASE to p6 (excl.)
  • affected from 14.4-RELEASE to p2 (excl.)
  • affected from 14.3-RELEASE to p11 (excl.)
  • affected from 13.5-RELEASE to p12 (excl.)

Credits

  • Nicholas Carlini using Claude, Anthropic finder

References

Problem Types

  • CWE-269 Improper Privilege Management CWE
  • CWE-732 Incorrect Permission Assignment for Critical Resource CWE