Hi David, Thanks for the clarification and the link to the Microsoft article.
After compiling and running the "exploit", I couldn't really see how this was exploitable because it was all running as the same user. The same thing could be done with a fork/exec, or just exec. The Microsoft article was a good read that clarified my impressions. Cheers, Steve W. On January 15, 2026 8:03:48 p.m. PST, David Higgs <[email protected]> wrote: >On Thu, Jan 15, 2026 at 2:28 PM <[email protected]> wrote: > >> It looks like the author of these has posted an updated POC of the W^X >> break script since the start of this thread. >> >> Here: >> https://git.hardenedbsd.org/hardenedbsd/HardenedBSD/-/issues/107#note_47812 >> >> Quoting, they say this: >> >> "I have seen on openbsd-misc that people are rightfully claiming this >> break does not work on OpenBSD due to pinsyscalls. That said, this is only >> because I was lazy when writing the poc, this break has otherwise nothing >> to do with pinsyscalls. Also note this break works regardless of whether >> the executable memory was mapped MAP_PRIVATE or MAP_SHARED. Below is an >> update poc that pops a shell despite pinsyscalls on OpenBSD using a simple >> libc trampoline" >> >> I can also confirm that this works as they say. > > >The first, previously-linked example does not make any syscalls between the >two stack pivots. MAP_STACK is enforced at the kernel syscall boundary. >Note the "exploit" didn't work when it made a printf (write) call after >only one stack pivot. > >The second example demonstrates lazy-loading of file-backed mmap content. >Pinsyscalls is not involved because all syscalls are still made through >libc. Note the file is truncated before the mmap. What do you think is >present in the mmap'd buffer before the write+close? > >There is no privilege escalation in either case. The burglar is already >inside the house. >https://devblogs.microsoft.com/oldnewthing/20060508-22/?p=31283 > >--david

