CVE-2026-110451 in Lix
Summary
by MITRE • 10/14/2026
Nix before 2.35.3 and Lix before 2.95.4 on macOS allow a Seatbelt sandbox escape (for an unconfined build) because a certain size threshold is mishandled.
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Analysis
by VulDB Data Team • 10/14/2026
The vulnerability identified in Nix prior to version 2.35.3 and Lix prior to version 2.95.4 represents a critical security flaw within the macOS sandboxing mechanism, specifically involving the Seatbelt policy enforcement system. This issue arises from an improper handling of size thresholds during the execution of builds that are not confined by strict sandbox policies or when the configuration inadvertently allows unconfined operations. The core technical defect lies in how the software calculates and validates buffer sizes or resource limits associated with specific build processes, leading to a logic error that can be exploited to bypass intended security restrictions.
Seatbelt is macOS's mandatory access control system, designed to restrict application capabilities through sandbox profiles. When Nix or Lix performs package builds, it often relies on these sandboxes to isolate the build environment from the rest of the host system, preventing malicious code within a source tarball from accessing sensitive user data or modifying critical system files. However, due to the mishandled size threshold, an attacker who can influence the parameters passed during the build process may trigger this flaw. By crafting inputs that exploit the boundary condition in the size validation logic, it is possible to escape the sandbox confinement, effectively granting the unconfined build process elevated privileges or unrestricted access to resources that should have been protected by the Seatbelt policy.
The operational impact of this vulnerability is significant for users relying on Nix and Lix for reproducible builds, particularly in multi-user environments or when building packages from untrusted sources. If an attacker can inject malicious code into a package source, they could potentially execute arbitrary commands with higher privileges than intended, access sensitive files outside the sandboxed environment, or establish persistence mechanisms that survive subsequent system restarts. This undermines the fundamental security guarantee of isolated builds and poses risks to both individual developers and organizations managing large-scale build infrastructures where trust in third-party packages is essential but not absolute.
From a classification perspective, this vulnerability aligns with CWE-20 Improper Input Validation, as the root cause is the failure to correctly validate input parameters related to size constraints before they are processed by the sandboxing engine. It also relates to CWE-250 Execution with Unnecessary Privileges, since the escape allows processes to operate outside their intended privilege boundaries. In terms of adversary tactics, this flaw facilitates ATT&CK technique T1610 Drop Payload, as it enables the placement and execution of malicious code within a seemingly secure environment, potentially leading to further lateral movement or data exfiltration if not detected early.
To mitigate this risk, users must upgrade Nix to version 2.35.3 or later and Lix to version 2.95.4 or later immediately upon availability. These updated versions contain the necessary patches to correctly handle size thresholds within the Seatbelt sandbox implementation, ensuring that boundary conditions are properly enforced. Additionally, administrators should review their build configurations to ensure that unconfined builds are minimized wherever possible, adhering to the principle of least privilege by enforcing strict sandbox profiles for all package derivations. Regular auditing of third-party packages and maintaining up-to-date dependency chains further reduces the attack surface associated with such vulnerabilities in functional package managers.