Every CVE Search/ Get API key

CVE-2026-47134

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

6.9 Medium

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.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
High
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
High
Availability
None

Exploit likelihood

0.15%Up 0.1 points since Jun 12, 2026
90%50%10%1%

What each source reports

CVE List Score used 6.9

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

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.

Record
CVE-2026-47134
CVSS 4.0
6.9 MediumCVSS:4.0/AV:L/AC:L/AT:P/PR:H/UI:N/VC:N/VI:H/VA:N/SC:H/SI:H/SA:N
Weakness
CWE-732
Updated
2026-11-02
EUVDEUVD-2026-46113 6.9

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.

Record
EUVD-2026-46113
CVSS 4.0
6.9 MediumCVSS:4.0/AV:L/AC:L/AT:P/PR:H/UI:N/VC:N/VI:H/VA:N/SC:H/SI:H/SA:N
Updated
2026-11-02
NVD 6.9

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.

Record
CVE-2026-47134
CVSS 4.0
6.9 MediumCVSS:4.0/AV:L/AC:L/AT:P/PR:H/UI:N/VC:N/VI:H/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Weakness
CWE-732
Updated
2026-11-02
OSV 6.9

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

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.

Record
CVE-2026-47134
CVSS 4.0
6.9 MediumCVSS:4.0/AV:L/AC:L/AT:P/PR:H/UI:N/VC:N/VI:H/VA:N/SC:H/SI:H/SA:N
Weakness
CWE-732
Updated
2026-11-02

Affected products

History

History
RecordedChangedSources
aliases, publishedEUVD
first indexedCVE List, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-47134 is a medium vulnerability (CVSS 6.9) in Craigjbass Clearancekit, published July 20, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.15%, the 4th percentile. No source names a fixed version.

References

MoveEnter Open