Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to MaxKB (PR:L)
-
DeliveryGain tool-code execution in ToolExecutor sandbox
-
ExploitCall unhooked fexecve() with executable fd
-
ExecutionSpawn process outside subprocess policy
-
ImpactExecute commands beyond sandbox boundary
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Protection mechanism completeness
|
| Exploitation Conditions | Requires an authenticated MaxKB user (PR:L) who can execute tool code within the ToolExecutor LD_PRELOAD sandbox - i.e. the deployment must expose a tool/agent feature that runs attacker-influenced code. Limited to versions prior to 2.10.6-lts. The sandbox's LD_PRELOAD shim (installer/sandbox.c) must be the active subprocess-restriction mechanism; the escape works specifically because fexecve was not among the hooked syscalls (execve/execvpe/execveat were). Exploitation is meaningless without the ability to run code inside the sandbox in the first place, so this is a defense-in-depth escape rather than an initial-access vector. |
| Impact | This is a protection-mechanism bypass (CWE-693): the MaxKB ToolExecutor uses an LD_PRELOAD C shim (installer/sandbox.c) that hooks execve, execvpe, and execveat to block subprocess creation, but omitted fexecve - so an attacker who can already run tool code inside the sandbox can spawn a process outside the intended policy. The vendor CVSS of 6.3 (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L) is reasonable but understates the nature of the flaw: this is a sandbox escape, and once the subprocess barrier is defeated the practical outcome is closer to arbitrary command execution on the host than the 'Low' C/I/A partial-impacts suggest. The mitigating reality is the precondition - the attacker must ALREADY be authenticated (PR:L) AND able to execute code inside a ToolExecutor sandbox, i.e. the sandbox is defense-in-depth around a feature that already runs semi-trusted code, so this is a hardening/escape bug rather than a direct remote-unauth RCE. No EPSS score, no CISA KEV listing, and no public exploit are present in the provided data; the fix is confirmed by the vendor GHSA advisory and commit. Net: a real but conditional issue - patch-worthy for anyone exposing configurable code-execution tools, not a mass-exploitation emergency. The input tag 'Information Disclosure' mislabels this - it is a sandbox/subprocess-policy escape, not primarily a confidentiality leak. |
| Exploit ScenarioDerived | An authenticated MaxKB user who can supply or run tool code within the ToolExecutor sandbox writes code that opens a file descriptor to an executable and calls fexecve() instead of execve(), which the LD_PRELOAD shim never hooked. The call bypasses the subprocess-creation policy and launches a process outside the sandbox, giving the attacker code execution beyond the intended tool boundary. No public exploit is identified at time of analysis, though the mechanism is trivially reproducible from the commit diff. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 21, 2026
An authenticated attacker with the ability to execute tool code inside MaxKB (1Panel-dev) deployments running versions prior to 2.10.6-lts can break out of the ToolExecutor subprocess sandbox and start processes that the sandbox is supposed to forbid. The escape exists because the LD_PRELOAD shim in installer/sandbox.c intercepts execve, execvpe and execveat but never hooks fexecve, leaving a gap a local tool-code executer can drive; impact is scored as limited confidentiality, integrity and availability loss (CVSS 3.1 6.3, AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L), and it is a defense-in-depth bypass rather than an initial-access vector, meaning the attacker must already have authenticated access and a code-executing tool/agent feature exposed. No public exploit code identified at time of analysis, and there is no KEV listing; the vendor has released a fix in 2.10.6-lts.
RemediationAI
Upgrade MaxKB to 2.10.6-lts or later, which is the vendor-released patch that adds the missing fexecve hook alongside the existing execve/execvpe/execveat checks (see the release at https://github.com/1Panel-dev/MaxKB/releases/tag/v2.10.6-lts and the fix commit 6fa7947a85030b87977c4026f33af11ca10dd1e6, detailed in GHSA-9mh9-v949-fwqh). If upgrading on a maintained fork or custom build, ensure the installer/sandbox.c change is backported, because the LD_PRELOAD shim is compiled into the deployment and a source-level patch alone will not take effect until it is rebuilt and reloaded. Until then, the most effective compensating control is to remove the precondition entirely: restrict who can create, edit, or invoke tools and agent code (only fully trusted administrators) and, where the feature is not needed, disable tool/agent execution in MaxKB's configuration - the trade-off is loss of the automation and LLM tool-calling functionality for non-privileged users. Because the shim is interposition-based and cannot be trusted as a hard boundary, additionally wrap the MaxKB worker/tool-execution process in a kernel-enforced sandbox such as a container with seccomp/apparmor profiles or a dedicated unprivileged user namespace that denies fork/exec of unexpected binaries - this is more invasive to operate and can break legitimate tool invocations, so it should be validated in staging. Restricting network exposure of the MaxKB instance to trusted networks reduces the AV:N reachability component but does not mitigate an already-authenticated attacker, and monitoring for unexpected child processes spawned by the MaxKB service account can provide detection while the upgrade is scheduled.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
MaxKB isolates user-supplied tool/agent code with an LD_PRELOAD shared-object sandbox implemented in installer/sandbox.c. That shim uses function interposition to replace libc entry points, and it wraps the process-creation syscall wrappers execve, execvpe and execveat so that calls from sandboxed code are checked against an allow_create_subprocess() policy and rejected when subprocess creation is not permitted. The flaw is a classic CWE-693 protection-mechanism failure caused by incomplete coverage of the equivalent API surface: fexecve(fd, argv, envp) executes a program from an already-open file descriptor and was not interposed, so tool code running under the shim can call fexecve directly and spawn a process without ever touching a hooked symbol. The same commit (6fa7947a85030b87977c4026f33af11ca10dd1e6) adds a fexecve wrapper that resolves the real function, applies the same allow_create_subprocess() check, and returns a permission-denied error, and it also removes the now-unused real_syscall pointer. Because the mechanism is LD_PRELOAD-based interposition rather than a kernel-enforced boundary (seccomp/ptrace/namespaces), any un-hooked path to process creation - of which fexecve was one - undermines the whole policy. The affected CPE is cpe:2.3:a:1panel-dev:maxkb:*:*:*:*:*:*:*:*, i.e. 1Panel-dev MaxKB builds prior to the 2.10.6-lts release.
Know when Maxkb gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L
Authenticated tool-code execution (PR:L) is the precondition; the escape bypasses an internal barrier rather than granting direct full host compromise, so partial C/I/A and S:U, matching the vendor.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
MaxKB is an open-source AI assistant for enterprise. Prior to version 2.10.6-lts, the ToolExecutor LD_PRELOAD sandbox hooks execve, execvpe, and execveat to prevent subprocess creation but does not hook fexecve. An authenticated attacker able to execute tool code can call fexecve to start a process outside the sandbox's intended subprocess policy. This issue is fixed in version 2.10.6-lts.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
MaxKB prior to version 1.10.8-lts contains an incomplete sandbox implementation that only blacklists binary execution in
Command injection in MaxKB before 2.10.5-lts allows unauthenticated remote attackers to execute arbitrary shell commands
Sandbox escape and privilege escalation in MaxKB 2.3.1 and earlier allow an attacker who can submit or trigger custom Py
Server-side request forgery in MaxKB before 2.10.0 allows any authenticated user holding the default workspace USER role
Authenticated workspace members on MaxKB deployments prior to 2.10.5-lts can escalate to root-level command execution by
OS command injection in MaxKB (1Panel-dev's open-source enterprise AI assistant) before 2.10.0-lts lets an authenticated
Server-side request forgery in MaxKB (open-source AI assistant from 1Panel-dev) allows an authenticated user with permis
Privilege escalation in MaxKB 2.3.1 and earlier allows an authenticated, low-privileged user to overwrite the built-in d
Authentication bypass in MaxKB (1Panel-dev) versions prior to 2.9.0 allows remote unauthenticated attackers to invoke we
Cross-workspace read and modification of model parameter defaults in MaxKB 2.10.3-lts and earlier is possible for an aut
MaxKB versions 2.7.1 and below allow authenticated users with tool execution privileges to bypass the LD_PRELOAD-based s
MaxKB versions 2.7.1 and below allow authenticated attackers with workspace privileges to execute arbitrary code by expl
EUVD-2026-84164
NVD
CVE.org
EPSS
GitHub
Exploit-DB