Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconDiscover internet-exposed MaxKB instance
-
DeliveryObtain valid trigger_id from leaks or logs
-
ExploitSend unauthenticated POST to /api/trigger/v1/webhook/{trigger_id}
-
InstallWebhookAuth returns spoofed success to DRF
-
C2Backend skips token enforcement
-
ExecuteBound task executes with server privileges
-
ImpactIntegrity impact on knowledge base or automation
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK
2 techniques across 2 tactics: Defense Evasion, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires (1) network reachability to the MaxKB /api/trigger/v1/webhook/{trigger_id} endpoint and (2) knowledge of a valid trigger_id created in the target instance; no credentials, user interaction, or non-default configuration are needed, and the bypass works even when a per-trigger token has been configured because the backend does not enforce it. The practical limiting factor is the trigger_id value itself - it is not user-enumerable through the public UI and behaves as a weak shared secret, so risk is highest where trigger_ids leak via logs, integration configs, referrers, or third-party systems, and lower where instances are only reachable from trusted networks. Impact is bounded by what tasks the deployment has actually bound to webhook triggers, since invocation only executes pre-configured actions. |
| Impact | The CVSS 3.1 vector AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N scores 7.5 and reflects a network-reachable, low-complexity, unauthenticated attack producing high integrity impact with no confidentiality or availability impact - consistent with an attacker invoking arbitrary bound tasks but not directly reading data or crashing the service. No EPSS score, KEV listing, or SSVC decision is provided in the input, so probability of exploitation cannot be quantified; status is no public exploit identified at time of analysis. The main practical limiter is knowledge of a valid trigger_id (a UUID-like identifier), which is not in the URL path of normal users but may be exposed via logs, referrers, integrations, or guessable patterns; this caveat should temper raw CVSS severity. Integrity impact depends entirely on what tasks operators have bound to webhooks - ranging from low-risk notifications to high-risk automation such as model retraining, file ingestion, or shell-adjacent actions - so real-world risk is deployment-specific and warrants prioritized patching for any MaxKB instance exposed beyond a trusted network. |
| Exploit ScenarioDerived | An attacker who has obtained a valid trigger_id - for example by scraping a misconfigured log endpoint, a public integration repository, browser referrer headers, or a leaked screenshot - sends an unauthenticated HTTP POST to /api/trigger/v1/webhook/{trigger_id} on an internet-exposed MaxKB instance. Because WebhookAuth returns (None, {}), DRF treats the request as authenticated, the optional token is not enforced, and MaxKB executes whatever task the operator bound to that trigger, such as ingesting attacker-controlled documents into the knowledge base or invoking automation actions. No POC is referenced in the input, but the fix commit and advisory make the bypass mechanism transparent and trivial to reproduce. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 26, 2026
Authentication bypass in MaxKB (1Panel-dev) versions prior to 2.9.0 allows remote unauthenticated attackers to invoke webhook trigger endpoints and execute their bound tasks. The flaw stems from the WebhookAuth class unconditionally returning a successful authentication tuple, which Django REST Framework interprets as a valid identity, combined with no backend enforcement of per-trigger token requirements. No public exploit identified at time of analysis, but the trivial nature of the bypass and open-source visibility of the patch make exploitation straightforward for any attacker who can enumerate or guess trigger IDs.
RemediationAI
Vendor-released patch: upgrade MaxKB to version 2.9.0 or later, which fixes the WebhookAuth class and enforces per-trigger token verification on the backend (see GHSA-r3j3-j58q-rjpp at https://github.com/1Panel-dev/MaxKB/security/advisories/GHSA-r3j3-j58q-rjpp and issue https://github.com/1Panel-dev/MaxKB/issues/5213). Until the upgrade can be applied, restrict access to the /api/trigger/v1/webhook/{trigger_id} path at a reverse proxy or WAF by allowlisting only known integration source IPs, which will break any external SaaS that calls webhooks from dynamic IPs. Rotate all existing trigger IDs after patching so any IDs already harvested from logs, browser referrers, or third-party systems become invalid, and audit recently invoked triggers for unexpected calls; treat any task bound to a webhook (especially data ingestion or model actions) as potentially having been triggered by an unauthenticated party.
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 is an open-source AI assistant platform built on Python/Django that exposes a REST API via Django REST Framework (DRF). DRF authentication classes are expected to return either None (anonymous) or a (user, auth) tuple representing an authenticated principal; the WebhookAuth class incorrectly returns (None, {}), which DRF treats as successful authentication of an anonymous user, satisfying any IsAuthenticated-style permission gate downstream. The trigger framework supports an optional per-trigger token, but token verification is not enforced server-side, so even triggers configured with tokens accept unauthenticated requests. This maps to CWE-287 (Improper Authentication) - the root cause is a faulty authentication primitive rather than missing authorization checks. The affected product is identified by CPE cpe:2.3:a:1panel-dev:maxkb:*:*:*:*:*:*:*:* covering all versions prior to the 2.9.0 fix.
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:N/UI:N/S:U/C:N/I:H/A:N
Primary rating from Vendor (GitHub_M) · only source for this CVE.
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
MaxKB is an open-source AI assistant for enterprise. Prior to 2.9.0, MaxKB's webhook trigger endpoint (/api/trigger/v1/webhook/{trigger_id}) is accessible without authentication. The WebhookAuth class unconditionally returns (None, {}), which Django REST Framework interprets as successful authentication. Combined with optional per-trigger token verification and no backend enforcement of token requirements, any unauthenticated attacker who knows a valid trigger ID can invoke webhook triggers to execute their bound tasks. This vulnerability is fixed in 2.9.0.
Executive ViewAI
MaxKB (1Panel-dev) versions prior to 2.9.0 contain an authentication bypass in webhook triggers that exposes all orchestrated tasks to remote unauthenticated execution. Any attacker with network access to your MaxKB instance can execute arbitrary organization-managed tasks, threatening data pipelines, system automation, and operational security. The trivial nature of the vulnerability and its visibility in open-source code create immediate exploitation risk.
No vendor-released patch identified at time of analysis. Interim controls: (1) IP whitelisting-restrict webhook endpoint access to trusted source networks; (2) functional disable-turn off webhook feature if not required; (3) monitoring-log and alert on all webhook endpoint access; (4) network isolation-segment MaxKB instances from untrusted networks; (5) contingency-consider temporary service shutdown if MaxKB handles non-critical workloads.
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
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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
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
MaxKB versions 2.7.1 and below allow authenticated users with tool-editing permissions to bypass sandbox network protect
EUVD-2026-31987
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB