Linux has a new(ish) syscall you should know about.
mseal ("memory sealing") locks memory regions against modification. Many shellcode techniques are blocked since executable permissions can’t be added to sealed memory.
Here’s how it works:
mseal adds a VM_SEALED flag to memory regions, stopping attackers from using syscalls like mprotect and munmap to alter permissions or remap memory.
This hardens against common exploits by ensuring protected memory stays intact during runtime.
The syscall proved...controversial.
(read the linux mailing list on the subject, it's a doozy)
Linus criticized mseal's implementation as “nonsensical” for its inconsistent application of sealing rules across memory operations. Thankfully, they eventually came to a consensus.
mseal is now available in kernel 6.10+
To use it, apps need to seal sensitive memory regions via direct syscall invocation.
It's not an automatic process, but it's an interesting new tool that I hope to see more of, especially in highly targeted applications like web browsers
• • •
Missing some Tweet in this thread? You can try to
force a refresh
If you take a picture of a Raspberry Pi 2 with a strong flash it will reboot.
A specific power regulator (U16) was chip-scale packaged to save on cost and die space.
Since the silicon is basically naked, a xeon flash can cause a massive (but very short) current spike.
Naked silicon (specifically, WLCSP) isn’t “bad” per se; it’s heavily used in mobile phones.
The thing is…phones are usually sealed. The Pi is an exposed development board.
Don't blame the engineers too hard, Apple actually had a similar issue with the iPhone 4 (back glass).
The fix for the RPi is a bit obvious of course.
either:
1. don’t do that (take pictures with high powered flash inches away) 2. if you must…put a little blu-tak, nail polish, or other opaque inert substance on U16