Description
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.
Published: 2026-07-20
Score: 6.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

ClearanceKit monitors filesystem events on macOS and enforces per‑process access policies that are signed with an ECDSA private key stored in the System Keychain. The key is created in memory with SecKeyCreateRandomKey and subsequently persisted via SecItemAdd. In versions prior to 5.0.10, the access control attribute (kSecAttrAccess) supplied for kSecClassKey items is ignored, so the key is stored without an ACL. This allows any root‑privileged process to retrieve the private key from the System Keychain and sign arbitrary policy files. ClearanceKit accepts these forged signatures, letting a local root user inject malicious policies that bypass the intended access controls and effectively compromise the integrity of the policy enforcement. The issue is specific to the EC key, as the same access builder correctly binds the ACL for generic password items.

Affected Systems

ClearanceKit (production by craigjbass) on macOS is affected. All instances with a version earlier than 5.0.10 are vulnerable. Users running ClearanceKit who have processes that run as root are at risk until they upgrade.

Risk and Exploitability

The CVSS score of 6.9 indicates a medium severity vulnerability. The EPSS score is below 1%, indicating a low likelihood of global exploitation at present, and the vulnerability is not listed in the CISA KEV catalog. Exploitation requires local root privileges; any privileged process on the host can use the key to forge policy signatures, potentially allowing a malicious user to modify or extend access rules. The vulnerability’s exploitability is constrained to systems where ClearanceKit is installed and running, but once exploited it provides significant integrity compromise of the policy enforcement function.

Generated by OpenCVE AI on July 30, 2026 at 18:25 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update ClearanceKit to version 5.0.10 or later, which enforces ACL restrictions on the key in the System Keychain.
  • If an update is not immediately available, disable the ClearanceKit system extension or delete the "clearancekit policy signing key" item from the System Keychain; note that this disables policy enforcement but prevents forged-signature usage.
  • Ensure that only trusted applications run with root privileges and review all system services that may unintentionally run as root.

Generated by OpenCVE AI on July 30, 2026 at 18:25 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 22 Jul 2026 00:00:00 +0000

Type Values Removed Values Added
First Time appeared Craigjbass
Craigjbass clearancekit
Vendors & Products Craigjbass
Craigjbass clearancekit

Tue, 21 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 20 Jul 2026 21:30:00 +0000

Type Values Removed Values Added
Description 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.
Title ClearanceKit: Policy signing key in System Keychain has permissive ACL allowing any local-root process to forge signed policy
Weaknesses CWE-732
References
Metrics cvssV4_0

{'score': 6.9, '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'}


Subscriptions

Craigjbass Clearancekit
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-21T14:56:09.708Z

Reserved: 2026-05-18T19:50:18.695Z

Link: CVE-2026-47134

cve-icon Vulnrichment

Updated: 2026-07-21T13:16:10.937Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-30T18:30:05Z

Weaknesses
  • CWE-732

    Incorrect Permission Assignment for Critical Resource