PraisonAI SandlockSandbox falls back to unrestricted subprocess execution when Landlock is unavailable
Impact
PraisonAI versions 4.5.110 to 4.6.61 have a vulnerability where SandlockSandbox falls back to unrestricted subprocess execution when Landlock is unavailable, allowing a sandboxed payload to access files and network connections outside configured boundaries. The issue occurs when the sandlock module reports Landlock as unavailable. This affects the sandbox's ability to enforce filesystem and network boundaries.
Summarized by @cf/meta/llama-3.3-70b-instruct-fp8-fast. Verify details against the original sources.Affected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
MervinPraison · GitHub_M
PraisonAI
1 range
MervinPraison · GitHub_M
PraisonAI
Compare with this publisher’s ranges. This does not inspect your installation.
affected
>= 4.5.110, < 4.6.61
Other versions: unknown
Original source description
PraisonAI is a multi-agent teams system. From version 4.5.110 to before version 4.6.61, praisonai.sandbox.SandlockSandbox is documented and implemented as the kernel-enforced sandbox backend for untrusted code. Its SandboxConfig.native() path lets callers configure allowed filesystem paths and network=False. On systems where the optional sandlock module imports but reports that Landlock is unavailable, SandlockSandbox.execute() and run_command() do not fail closed. They silently fall back to SubprocessSandbox(self.config). That fallback keeps the same high-level native policy object but does not enforce the native filesystem or network boundary during code execution. A sandboxed payload can read files outside the configured allowed path and open network connections despite network=False. This issue has been patched in version 4.6.61.
Inside the record
Evidence available
Describes the evidence in this view, not whether the product is safe.
Original records
CVE-2026-57144View the latest unmodified CVE JSON from the official source. It may be newer than this imported page.
cve.new JSON →Underlying weaknesses
The source’s classification of what caused the vulnerability.
Contributing organizations · 2
Assigning organization
Additional data publisher
What changed
Follow changesLarge field values are marked as truncated previews. Original source snapshots remain retained.