diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2026-08-24 18:15:38 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2026-08-25 15:46:24 +0000 |
| commit | b13a7008282aaa34e7021ac7b961600dbbc28bf3 (patch) | |
| tree | 7b05f991641d4f722ebab964183d5de029cc463d /source/lldb-log.cpp | |
| parent | b207f754c7709212381eda8c91dbf080081ac5a1 (diff) | |
The check for whether shm_lp_psind was assigned was unlocked. This race
can be exploited to create an object with psind==2 but with only
pagesizes[1] worth of pages populated. This in turn can be used to
escalate privileges.
Fix this by acquiring the rangelock earlier. In shm_mmap_large(),
assert that we hold the rangelock. In shm_write(), annotate an unlocked
load of shm_lp_psind.
Approved by: so
Security: FreeBSD-SA-26:63.posixshm
Security: CVE-2026-58094
Reported by: tsune of GMO Cybersecurity by Ierae, Inc. working with TrendAI Zero Day Initiative
Reviewed by: kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D59104
Diffstat (limited to 'source/lldb-log.cpp')
0 files changed, 0 insertions, 0 deletions
