Skip to content

Small Mach-O executables were misclassified and escaped Lockdown enforcement

Moderate
mlw published GHSA-6mfp-x5gw-q6xx Aug 4, 2026

Software

santa

Affected versions

<= 2026.6

Patched versions

2026.7

Description

Summary

Santa treats files that are not Mach-O executables as out of scope, exempt from execution policy. Its classifier read a fixed-size block from the start of each file to make that determination, and when a file was smaller than that block the read returned nothing rather than the bytes that were present. A complete, runnable executable below the threshold was therefore classified as not a Mach-O, treated as out of scope, and allowed to run without any rule being consulted.

The deeper mistake is that a failure to inspect a file was treated as proof of what the file is. A classifier that cannot read a file's format has not established that the file is out of scope.

Impact

A local user with no special privileges could execute arbitrary unsigned native code on a host where Lockdown should have blocked it. The scope decision is reached before Lockdown's denial of unknown binaries, so no rule needed to exist and no approval was involved.

The executed code runs with the invoking user's existing permissions. This is not a privilege escalation. What is lost is Santa's guarantee that only approved binaries run.

Platform scope

Exploitation requires the host to be able to execute x86_64 code, meaning Intel hardware or Apple silicon with Rosetta 2 installed.

Native arm64 is not affected. Apple silicon uses 16 KiB pages, and segment alignment means a valid arm64 image cannot be small enough to fall below the read size this depends on. The constraint is structural rather than a matter of policy or signing, so Apple silicon hosts without Rosetta 2 are out of reach.

What changes in 2026.7

Small native executables are now recognized as Mach-O files and evaluated against execution policy like any other binary.

Expect executions that previously succeeded to start being blocked. Anything small enough to have been treated as out of scope now needs a rule, and in Lockdown it is denied without one. Reviewing execution telemetry for allows carrying a scope decision rather than a rule will identify what relied on the old behavior, and is worth doing before you upgrade rather than after.

Affected versions

Field Value
Affected Santa <= 2026.6
Fixed in Santa 2026.7
Severity Medium, CVSS v4.0 base score 6.8
CVSS CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
CWE CWE-20: Improper Input Validation

Mitigation

Upgrade to Santa 2026.7 or later. There is no configuration change on affected versions that restores correct classification.

Two things reduce exposure in the meantime:

  • Remove or withhold Rosetta 2 where it is not needed. Apple silicon hosts that cannot execute x86_64 code are not reachable by this technique.
  • Review execution telemetry for executions that were allowed with a scope decision rather than a rule. On affected versions those events are the ones that would carry this bypass.

Credit

Reported by OpenAI Codex Security, Jamie Brim (@jamieb-oai).

Independently reported by @arthurscchan, @DavidKorczynski, and @AdamKorcz. Per that report, the issue was discovered by Claude, Anthropic's AI assistant, with triage and report authoring by Ada Logics in collaboration with Anthropic Research.

Severity

Moderate

CVSS overall score

This score calculates overall vulnerability severity from 0 to 10 and is based on the Common Vulnerability Scoring System (CVSS).
/ 10

CVSS v4 base metrics

Exploitability Metrics
Attack Vector Local
Attack Complexity Low
Attack Requirements None
Privileges Required Low
User interaction None
Vulnerable System Impact Metrics
Confidentiality None
Integrity High
Availability None
Subsequent System Impact Metrics
Confidentiality None
Integrity None
Availability None

CVSS v4 base metrics

Exploitability Metrics
Attack Vector: This metric reflects the context by which vulnerability exploitation is possible. This metric value (and consequently the resulting severity) will be larger the more remote (logically, and physically) an attacker can be in order to exploit the vulnerable system. The assumption is that the number of potential attackers for a vulnerability that could be exploited from across a network is larger than the number of potential attackers that could exploit a vulnerability requiring physical access to a device, and therefore warrants a greater severity.
Attack Complexity: This metric captures measurable actions that must be taken by the attacker to actively evade or circumvent existing built-in security-enhancing conditions in order to obtain a working exploit. These are conditions whose primary purpose is to increase security and/or increase exploit engineering complexity. A vulnerability exploitable without a target-specific variable has a lower complexity than a vulnerability that would require non-trivial customization. This metric is meant to capture security mechanisms utilized by the vulnerable system.
Attack Requirements: This metric captures the prerequisite deployment and execution conditions or variables of the vulnerable system that enable the attack. These differ from security-enhancing techniques/technologies (ref Attack Complexity) as the primary purpose of these conditions is not to explicitly mitigate attacks, but rather, emerge naturally as a consequence of the deployment and execution of the vulnerable system.
Privileges Required: This metric describes the level of privileges an attacker must possess prior to successfully exploiting the vulnerability. The method by which the attacker obtains privileged credentials prior to the attack (e.g., free trial accounts), is outside the scope of this metric. Generally, self-service provisioned accounts do not constitute a privilege requirement if the attacker can grant themselves privileges as part of the attack.
User interaction: This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable system. This metric determines whether the vulnerability can be exploited solely at the will of the attacker, or whether a separate user (or user-initiated process) must participate in some manner.
Vulnerable System Impact Metrics
Confidentiality: This metric measures the impact to the confidentiality of the information managed by the VULNERABLE SYSTEM due to a successfully exploited vulnerability. Confidentiality refers to limiting information access and disclosure to only authorized users, as well as preventing access by, or disclosure to, unauthorized ones.
Integrity: This metric measures the impact to integrity of a successfully exploited vulnerability. Integrity refers to the trustworthiness and veracity of information. Integrity of the VULNERABLE SYSTEM is impacted when an attacker makes unauthorized modification of system data. Integrity is also impacted when a system user can repudiate critical actions taken in the context of the system (e.g. due to insufficient logging).
Availability: This metric measures the impact to the availability of the VULNERABLE SYSTEM resulting from a successfully exploited vulnerability. While the Confidentiality and Integrity impact metrics apply to the loss of confidentiality or integrity of data (e.g., information, files) used by the system, this metric refers to the loss of availability of the impacted system itself, such as a networked service (e.g., web, database, email). Since availability refers to the accessibility of information resources, attacks that consume network bandwidth, processor cycles, or disk space all impact the availability of a system.
Subsequent System Impact Metrics
Confidentiality: This metric measures the impact to the confidentiality of the information managed by the SUBSEQUENT SYSTEM due to a successfully exploited vulnerability. Confidentiality refers to limiting information access and disclosure to only authorized users, as well as preventing access by, or disclosure to, unauthorized ones.
Integrity: This metric measures the impact to integrity of a successfully exploited vulnerability. Integrity refers to the trustworthiness and veracity of information. Integrity of the SUBSEQUENT SYSTEM is impacted when an attacker makes unauthorized modification of system data. Integrity is also impacted when a system user can repudiate critical actions taken in the context of the system (e.g. due to insufficient logging).
Availability: This metric measures the impact to the availability of the SUBSEQUENT SYSTEM resulting from a successfully exploited vulnerability. While the Confidentiality and Integrity impact metrics apply to the loss of confidentiality or integrity of data (e.g., information, files) used by the system, this metric refers to the loss of availability of the impacted system itself, such as a networked service (e.g., web, database, email). Since availability refers to the accessibility of information resources, attacks that consume network bandwidth, processor cycles, or disk space all impact the availability of a system.
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

CVE ID

No known CVE

Weaknesses

Improper Input Validation

The product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly. Learn more on MITRE.

Credits