$ echo "-weight: 500;">install algif_aead /bin/false" > /etc/modprobe.d/-weight: 500;">disable-algif.conf
rmmod algif_aead 2>/dev/null || true
echo "-weight: 500;">install algif_aead /bin/false" > /etc/modprobe.d/-weight: 500;">disable-algif.conf
rmmod algif_aead 2>/dev/null || true
echo "-weight: 500;">install algif_aead /bin/false" > /etc/modprobe.d/-weight: 500;">disable-algif.conf
rmmod algif_aead 2>/dev/null || true - Open an AF_ALG socket (the kernel crypto API's userspace interface, enabled by default on essentially every mainstream distro).
- Use splice() to route page-cache pages into the authenticated encryption path.
- The bug: an in-place optimization introduced in 2017 allows the writable destination scatterlist to reference the same page-cache page as the source. That gives userspace a writable reference to a read-only kernel page.
- Four bytes. Pick a setuid binary. Write in place.