[PATCH 0/3] ima: use the system blacklist in lieu of the IMA blacklist keyring

From: Mimi Zohar

Date: Fri Nov 06 2026 - 12:38:27 EST


The experimental IMA blacklist keyring accepts any certificate signed by
a key on the builtin trusted keyring. The certificate being revoked was
created by such a key, so root can add it to the blacklist. Nothing
differentiates the authority to sign from the authority to revoke.

The system blacklist already supports signed updates
(CONFIG_SYSTEM_BLACKLIST_AUTH_UPDATE), but cannot revoke a key that is
already loaded on a keyring.

This series defines "skid:<hex>" entries and adds is_key_blacklisted()
to the system blacklist, has IMA's asymmetric_verify() call it on the
key it finds, and removes the IMA blacklist keyring.

1/3 certs: blacklist: define skid: entries and add is_key_blacklisted()
2/3 integrity: use is_key_blacklisted() in asymmetric_verify()
3/3 ima: remove the experimental IMA blacklist keyring

Revocations for keys on the IMA keyring are now "skid:<hex>" entries in
the system blacklist.

Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxx>

Mimi Zohar (3):
certs: blacklist: define skid: entries and add is_key_blacklisted()
integrity: use is_key_blacklisted() in asymmetric_verify()
ima: remove the experimental IMA blacklist keyring

certs/blacklist.c | 83 ++++++++++++++++++--------
include/keys/system_keyring.h | 26 ++++----
security/integrity/digsig_asymmetric.c | 25 ++++----
security/integrity/ima/Kconfig | 13 +---
security/integrity/ima/Makefile | 1 -
security/integrity/ima/ima_mok.c | 49 ---------------
6 files changed, 84 insertions(+), 113 deletions(-)
delete mode 100644 security/integrity/ima/ima_mok.c

--
2.56.0