On Mon, Jun 22, 2026 at 04:48:03PM -0700, Eric Biggers wrote: > AF_ALG is a frequent source of vulnerabilities and a maintenance > nightmare. It exposes far more functionality to userspace than ever > should have been exposed, especially to unprivileged processes. Recent > exploits have targeted kernel internal implementation details like > "authencesn" that have zero use case for userspace access. > > Fortunately, AF_ALG is rarely used in practice, as userspace crypto > libraries exist. And when it is used, only some functionality is known > to be used, and many users are known to hold capabilities already. > iwd for example requires CAP_NET_ADMIN and has a known algorithm list > (https://lore.kernel.org/linux-crypto/[email protected]/). > > Thus, let's restrict the set of allowed algorithms by default, depending > on the capabilities held. > > Add a sysctl /proc/sys/crypto/af_alg_restrict with meaning: > > 0: unrestricted > 1: limited functionality > 2: completely disabled > > Set the default value to 1, which enables an algorithm allowlist for > unprivileged processes and a slightly longer allowlist for privileged > processes. > > Note that the list may be tweaked in the future. However, the common > use cases such as iwd and bluez are taken into account already. I've > tested that iwd still works with the default value of 1. > > Signed-off-by: Eric Biggers <[email protected]> > --- > Documentation/admin-guide/sysctl/crypto.rst | 36 +++++++++++ > Documentation/crypto/userspace-if.rst | 13 +++- > crypto/af_alg.c | 72 +++++++++++++++++++-- > crypto/algif_aead.c | 11 ++++ > crypto/algif_hash.c | 24 +++++++ > crypto/algif_rng.c | 9 +++ > crypto/algif_skcipher.c | 20 ++++++ > include/crypto/if_alg.h | 8 +++ > 8 files changed, 184 insertions(+), 9 deletions(-)
Patch applied. Thanks. -- Email: Herbert Xu <[email protected]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

