Summary
Santa read the recorded position of each architecture slice in a universal binary into a signed 32-bit integer. A position large enough to set the high bit became negative, the slice could not be located, and no executable header was recovered. Santa concluded the file was not a Mach-O and treated it as out of scope, allowing it to run without consulting execution policy.
macOS reads the same field as unsigned. It located the slice and executed it. A file Santa recognized as an executable container but could not parse was treated as though it were not executable.
Impact
A local user with no special privileges could execute native code that policy denied, on a host in Lockdown. 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.
All supported platforms are affected. The technique works with a native arm64 payload as well as an x86_64 one, so Apple silicon hosts are reachable whether or not Rosetta 2 is installed.
What changes in 2026.7
Slice positions and sizes are now read as unsigned values, and the slice table is bounded before use, so universal binaries whose slices sit at high offsets are located and evaluated like any other executable.
Expect executions that previously succeeded to start being blocked. Anything that ran because it was 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
Mitigation
Upgrade to Santa 2026.7 or later. There is no configuration change on affected versions that restores correct classification.
In the meantime, review execution telemetry for executions 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.
Summary
Santa read the recorded position of each architecture slice in a universal binary into a signed 32-bit integer. A position large enough to set the high bit became negative, the slice could not be located, and no executable header was recovered. Santa concluded the file was not a Mach-O and treated it as out of scope, allowing it to run without consulting execution policy.
macOS reads the same field as unsigned. It located the slice and executed it. A file Santa recognized as an executable container but could not parse was treated as though it were not executable.
Impact
A local user with no special privileges could execute native code that policy denied, on a host in Lockdown. 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.
All supported platforms are affected. The technique works with a native arm64 payload as well as an x86_64 one, so Apple silicon hosts are reachable whether or not Rosetta 2 is installed.
What changes in 2026.7
Slice positions and sizes are now read as unsigned values, and the slice table is bounded before use, so universal binaries whose slices sit at high offsets are located and evaluated like any other executable.
Expect executions that previously succeeded to start being blocked. Anything that ran because it was 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
<= 2026.62026.7CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:NMitigation
Upgrade to Santa
2026.7or later. There is no configuration change on affected versions that restores correct classification.In the meantime, review execution telemetry for executions 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.