CVE-2026-47134 PUBLISHED

ClearanceKit: Policy signing key in System Keychain has permissive ACL allowing any local-root process to forge signed policy

Assigner: GitHub_M
Reserved: 18.05.2026 Published: 20.07.2026 Updated: 21.07.2026

ClearanceKit intercepts file-system access events on macOS and enforces per-process access policies. The ECDSA private key used to sign the on-disk policy database (/Library/Application Support/clearancekit/store.db) is stored in the macOS System Keychain. The key was created via the two-step pattern SecKeyCreateRandomKey (in-memory) followed by SecItemAdd(kSecValueRef:, kSecAttrAccess:) (persist). Prior to version 5.0.10, for kSecClassKey items in the legacy System Keychain, kSecAttrAccess passed to SecItemAdd is silently ignored — the persisted key inherits no ACL restriction. The same access builder applied to kSecClassGenericPassword items correctly binds the ACL, making this bug specific to the EC key. The result is that any process running as root can use the key to produce valid signatures over arbitrary policy content. Version 5.0.10 fixes the issue. No known workarounds are available. Disabling the system extension and manually removing the System Keychain item labelled clearancekit policy signing key would prevent the forged-signature path but also disables policy enforcement.

Metrics

CVSS Vector: CVSS:4.0/AV:L/AC:L/AT:P/PR:H/UI:N/VC:N/VI:H/VA:N/SC:H/SI:H/SA:N
CVSS Score: 6.9

Product Status

Vendor craigjbass
Product clearancekit
Versions
  • Version < 5.0.10 is affected

References

Problem Types

  • CWE-732: Incorrect Permission Assignment for Critical Resource CWE