π¨ CVE-2026-74908
Grav plugin-api before 1.0.15 contains a script injection vulnerability where the SVG sanitizer only checks for the exact extension 'svg', allowing .svgz and .xhtml files to bypass sanitization and be stored unsanitized. Attackers with api.media.write permission can upload files containing executable script payloads that execute in the site origin when accessed by administrators or visitors.
π@cveNotify
Grav plugin-api before 1.0.15 contains a script injection vulnerability where the SVG sanitizer only checks for the exact extension 'svg', allowing .svgz and .xhtml files to bypass sanitization and be stored unsanitized. Attackers with api.media.write permission can upload files containing executable script payloads that execute in the site origin when accessed by administrators or visitors.
π@cveNotify
GitHub
grav-plugin-api media upload: the SVG sanitizer is keyed on the literal extension "svg", so .svgz and .xhtml pass the denylistβ¦
The plugin-api upload gate is a denylist plus an SVG sanitizer that only fires when the extension string is exactly `svg`, so `.svgz` (gzipped SVG) and `.xhtml` clear both checks and are written to...
π¨ CVE-2026-75107
Grav Form Plugin before 9.1.19 fails to escape field-definition properties including prepend, append, spacer text, section text, and select option labels in form templates. Attackers with form authoring privileges can inject arbitrary HTML and JavaScript that executes for all form visitors through unescaped |raw filters and unquoted attributes.
π@cveNotify
Grav Form Plugin before 9.1.19 fails to escape field-definition properties including prepend, append, spacer text, section text, and select option labels in form templates. Attackers with form authoring privileges can inject arbitrary HTML and JavaScript that executes for all form visitors through unescaped |raw filters and unquoted attributes.
π@cveNotify
GitHub
grav-plugin-form: field-definition properties (prepend/append/spacer/section text) render with |raw and the select option labelβ¦
## Affected versions and vulnerable location
- Confirmed on grav-plugin-form at `1ac283d` (tag 9.1.17).
- `|raw` field-definition sinks (no `|e`):
- `templates/forms/fields/text/text.html.tw...
- Confirmed on grav-plugin-form at `1ac283d` (tag 9.1.17).
- `|raw` field-definition sinks (no `|e`):
- `templates/forms/fields/text/text.html.tw...
π¨ CVE-2026-75774
A vulnerability was determined in karakeep-app karakeep up to 0.32.0. The impacted element is an unknown function of the file apps/web/server/auth.ts of the component OAuth Sign-In. This manipulation causes improper authentication. It is possible to initiate the attack remotely. The complexity of an attack is rather high. The exploitability is regarded as difficult. The exploit has been publicly disclosed and may be utilized. The project was informed of the problem early through an issue report but has not responded yet.
π@cveNotify
A vulnerability was determined in karakeep-app karakeep up to 0.32.0. The impacted element is an unknown function of the file apps/web/server/auth.ts of the component OAuth Sign-In. This manipulation causes improper authentication. It is possible to initiate the attack remotely. The complexity of an attack is rather high. The exploitability is regarded as difficult. The exploit has been publicly disclosed and may be utilized. The project was informed of the problem early through an issue report but has not responded yet.
π@cveNotify
GitHub
GitHub - karakeep-app/karakeep: A self-hostable bookmark-everything app (links, notes and images) with AI-based automatic taggingβ¦
A self-hostable bookmark-everything app (links, notes and images) with AI-based automatic tagging and full text search - karakeep-app/karakeep
π¨ CVE-2026-75827
Grav before 2.0.15 contains an arbitrary file write vulnerability in the Blueprint dynamic-data bare-function validation that uses an incomplete denylist instead of a positive allowlist. Attackers with page-edit or blueprint-config access can invoke the error_log function through a data directive to append PHP payloads to web-accessible files, achieving remote code execution.
π@cveNotify
Grav before 2.0.15 contains an arbitrary file write vulnerability in the Blueprint dynamic-data bare-function validation that uses an incomplete denylist instead of a positive allowlist. Attackers with page-edit or blueprint-config access can invoke the error_log function through a data directive to append PHP payloads to web-accessible files, achieving remote code execution.
π@cveNotify
GitHub
Blueprint dynamic-data bare-function branch is denylist-gated and omits error_log, giving arbitrary file write
## Affected versions and vulnerable location
- Confirmed on grav core at `78ebfc1` (tag 2.0.13).
- Sinks:
- `system/src/Grav/Common/Data/Blueprint.php:455-458` `call_user_func_array($o, $par...
- Confirmed on grav core at `78ebfc1` (tag 2.0.13).
- Sinks:
- `system/src/Grav/Common/Data/Blueprint.php:455-458` `call_user_func_array($o, $par...
π¨ CVE-2026-75828
Grav before 2.0.15 contains a stored cross-site scripting vulnerability in the detectXss() function where unpaired quotes in unquoted attribute values bypass event-handler detection. Authenticated editors can inject event handlers like onerror= that pass validation and execute in visitor browsers when page content is rendered.
π@cveNotify
Grav before 2.0.15 contains a stored cross-site scripting vulnerability in the detectXss() function where unpaired quotes in unquoted attribute values bypass event-handler detection. Authenticated editors can inject event handlers like onerror= that pass validation and execute in visitor browsers when page content is rendered.
π@cveNotify
GitHub
detectXss() misses an event-handler attribute after an unpaired quote in an unquoted attribute value, giving stored XSS
## Affected versions and vulnerable location
- Confirmed on grav core at `78ebfc1` (tag 2.0.13).
- Detector: `system/src/Grav/Common/Security.php:290`, the `on_events` regex, run via `patternMa...
- Confirmed on grav core at `78ebfc1` (tag 2.0.13).
- Detector: `system/src/Grav/Common/Security.php:290`, the `on_events` regex, run via `patternMa...
π¨ CVE-2026-75829
grav-plugin-api versions before 1.0.15 fail to validate Twig content in the translate() endpoint, allowing attackers with api.pages.write permission to persist pages with process.twig enabled. Attackers can submit crafted header and content parameters to execute server-side template injection payloads that are evaluated at render time.
π@cveNotify
grav-plugin-api versions before 1.0.15 fail to validate Twig content in the translate() endpoint, allowing attackers with api.pages.write permission to persist pages with process.twig enabled. Attackers can submit crafted header and content parameters to execute server-side template injection payloads that are evaluated at render time.
π@cveNotify
GitHub
grav-plugin-api PagesController::translate() persists page header and content without guardTwigContent, letting an api.pages.writeβ¦
## Affected versions and vulnerable location
- Confirmed on grav-plugin-api at `bdca860` (tag 1.0.13).
- Vulnerable method: `classes/Api/Controllers/PagesController.php:1040` `translate()` (rou...
- Confirmed on grav-plugin-api at `bdca860` (tag 1.0.13).
- Vulnerable method: `classes/Api/Controllers/PagesController.php:1040` `translate()` (rou...
π¨ CVE-2026-75830
grav-plugin-api (getgrav/grav-plugin-api) versions >= 1.0.0-beta.10 and <= 1.0.14 contain a path traversal vulnerability in the PagesController::batchCopy() method. An incomplete fix for GHSA-qjq4-jp55-4mx2 left the user-controlled 'suffix' parameter (via POST /api/v1/pages/batch) unvalidated. An authenticated user with the api.pages.write permission (editor-level, not super-admin) can supply path traversal sequences (e.g. /../../../) in the suffix parameter to escape the intended user/pages/ directory and write attacker-controlled page content and page media to arbitrary filesystem locations writable by the web server process. The vulnerability is fixed in 1.0.15.
π@cveNotify
grav-plugin-api (getgrav/grav-plugin-api) versions >= 1.0.0-beta.10 and <= 1.0.14 contain a path traversal vulnerability in the PagesController::batchCopy() method. An incomplete fix for GHSA-qjq4-jp55-4mx2 left the user-controlled 'suffix' parameter (via POST /api/v1/pages/batch) unvalidated. An authenticated user with the api.pages.write permission (editor-level, not super-admin) can supply path traversal sequences (e.g. /../../../) in the suffix parameter to escape the intended user/pages/ directory and write attacker-controlled page content and page media to arbitrary filesystem locations writable by the web server process. The vulnerability is fixed in 1.0.15.
π@cveNotify
GitHub
Path Traversal in grav-plugin-api PagesController::batchCopy()
### Summary
An incomplete fix for GHSA-qjq4-jp55-4mx2 allows any authenticated user with `api.pages.write` permission (editor-level, not super-admin) to write attacker-controlled page content an...
An incomplete fix for GHSA-qjq4-jp55-4mx2 allows any authenticated user with `api.pages.write` permission (editor-level, not super-admin) to write attacker-controlled page content an...
π¨ CVE-2026-75831
Grav before 2.0.15 contains a stored cross-site scripting vulnerability in the audio and video media rendering through the sourceParsedownElement method. The media URL fragment is concatenated unescaped into rawHtml source elements, allowing attackers to inject arbitrary HTML and JavaScript that executes in viewers' sessions.
π@cveNotify
Grav before 2.0.15 contains a stored cross-site scripting vulnerability in the audio and video media rendering through the sourceParsedownElement method. The media URL fragment is concatenated unescaped into rawHtml source elements, allowing attackers to inject arbitrary HTML and JavaScript that executes in viewers' sessions.
π@cveNotify
GitHub
[security] Fix stored CSS injection via image resize() media action Β· getgrav/grav@aba291a
The resize() media action wrote its caller-controlled width/height
straight into styleAttributes as 'width: <value>px', bypassing the
style() sanitizer added for the e...
straight into styleAttributes as 'width: <value>px', bypassing the
style() sanitizer added for the e...
π¨ CVE-2026-75832
The Grav API plugin (getgrav/grav-plugin-api, bundled with Grav 2.0) before version 1.0.14 (fixed in 1.0.15) contains a missing authorization vulnerability in BlueprintPathResolver::resolveUserScope(). The method gates the users/<name> scope on the account's raw super-admin ACL flag (access.api.super) instead of validating the presented API key's actual scope. An attacker holding an API key scoped only to api.media.write minted on a super-admin account can bypass the authorization check and, via POST /blueprint-upload or GET /blueprint-files, write a file into another user's scope (in the shared user/accounts/ directory, constrained to image extensions by assertSafeExtension()) and browse that scope's file listing, despite the key not being granted api.users.write.
π@cveNotify
The Grav API plugin (getgrav/grav-plugin-api, bundled with Grav 2.0) before version 1.0.14 (fixed in 1.0.15) contains a missing authorization vulnerability in BlueprintPathResolver::resolveUserScope(). The method gates the users/<name> scope on the account's raw super-admin ACL flag (access.api.super) instead of validating the presented API key's actual scope. An attacker holding an API key scoped only to api.media.write minted on a super-admin account can bypass the authorization check and, via POST /blueprint-upload or GET /blueprint-files, write a file into another user's scope (in the shared user/accounts/ directory, constrained to image extensions by assertSafeExtension()) and browse that scope's file listing, despite the key not being granted api.users.write.
π@cveNotify
GitHub
BlueprintPathResolver::resolveUserScope() uses bare access.api.super, letting an api.media.write-scoped key act as if it held api.users.write
## Vulnerability Details
**Component**: getgrav/grav-plugin-api (bundled with Grav 2.0's admin-next/API stack)
**Files**: `classes/Api/Services/BlueprintPathResolver.php` (`resolveUserScope...
**Component**: getgrav/grav-plugin-api (bundled with Grav 2.0's admin-next/API stack)
**Files**: `classes/Api/Services/BlueprintPathResolver.php` (`resolveUserScope...
π¨ CVE-2026-75834
Grav before 2.0.14 contains a stored cross-site scripting vulnerability in the Security::detectXss() function (system/src/Grav/Common/Security.php). All XSS detection patterns use the PCRE /u (UTF-8) modifier, so a single invalid UTF-8 byte anywhere in page content causes preg_match() to return false for every pattern, silently bypassing the save-time XSS safety gate (Validation::checkSafety()). An authenticated attacker with page-edit permissions (without the security.xss_whitelist privilege) can store malicious JavaScript that executes in the browser of a visitor who views the affected page.
π@cveNotify
Grav before 2.0.14 contains a stored cross-site scripting vulnerability in the Security::detectXss() function (system/src/Grav/Common/Security.php). All XSS detection patterns use the PCRE /u (UTF-8) modifier, so a single invalid UTF-8 byte anywhere in page content causes preg_match() to return false for every pattern, silently bypassing the save-time XSS safety gate (Validation::checkSafety()). An authenticated attacker with page-edit permissions (without the security.xss_whitelist privilege) can store malicious JavaScript that executes in the browser of a visitor who views the affected page.
π@cveNotify
GitHub
Single invalid UTF-8 byte disables every rule in Security::detectXss(), bypassing the page-content XSS safety gate
## Vulnerability Details
**Component**: getgrav/grav core
**File**: `system/src/Grav/Common/Security.php`
**Function**: `detectXss()` (all six entries in the `$patterns` array use the PCRE `u` mod...
**Component**: getgrav/grav core
**File**: `system/src/Grav/Common/Security.php`
**Function**: `detectXss()` (all six entries in the `$patterns` array use the PCRE `u` mod...
π¨ CVE-2026-75835
Grav API plugin (getgrav/grav-plugin-api) before 1.0.14 contains a missing authorization vulnerability in userPassesAuthorize() (AbstractApiController.php). The function fails to consult the calling request's API key scopes, relying instead on the account's raw super-admin flag and ACL grants. As a result, an authenticated attacker holding a scoped API key minted on a privileged account can bypass their declared scope restrictions to access authorize-gated UI metadata and item definitions (sidebar/menubar/widget items and users-list columns/row-actions/filter-tabs) that their key scope should deny, resulting in information disclosure.
π@cveNotify
Grav API plugin (getgrav/grav-plugin-api) before 1.0.14 contains a missing authorization vulnerability in userPassesAuthorize() (AbstractApiController.php). The function fails to consult the calling request's API key scopes, relying instead on the account's raw super-admin flag and ACL grants. As a result, an authenticated attacker holding a scoped API key minted on a privileged account can bypass their declared scope restrictions to access authorize-gated UI metadata and item definitions (sidebar/menubar/widget items and users-list columns/row-actions/filter-tabs) that their key scope should deny, resulting in information disclosure.
π@cveNotify
GitHub
userPassesAuthorize() has two independent unscoped paths, leaking authorize-gated items to scoped API keys
## Vulnerability Details
**Component**: getgrav/grav-plugin-api (bundled with Grav 2.0's admin-next/API stack)
**Files**: `classes/Api/Controllers/AbstractApiController.php` (`userPassesAuthor...
**Component**: getgrav/grav-plugin-api (bundled with Grav 2.0's admin-next/API stack)
**Files**: `classes/Api/Controllers/AbstractApiController.php` (`userPassesAuthor...
π¨ CVE-2026-75836
The Grav API plugin (getgrav/grav-plugin-api, bundled with Grav's admin-next/API stack) before 1.0.14 fails to enforce the authorize requirement in MenubarController::executeAction(). While the GET /menubar/items listing endpoint correctly filters menubar items via userPassesAuthorize(), the POST /api/v1/menubar/actions/{plugin}/{action} endpoint only checks the baseline api.access permission and never evaluates the authorize field a plugin registered for that action. Any authenticated caller with api.access can therefore invoke a privileged menubar action directly, bypassing the intended authorization. No plugin bundled with core Grav currently registers a privileged authorize handler, so on a stock install the impact is latent; the flaw affects any first- or third-party plugin relying on the documented authorize semantics.
π@cveNotify
The Grav API plugin (getgrav/grav-plugin-api, bundled with Grav's admin-next/API stack) before 1.0.14 fails to enforce the authorize requirement in MenubarController::executeAction(). While the GET /menubar/items listing endpoint correctly filters menubar items via userPassesAuthorize(), the POST /api/v1/menubar/actions/{plugin}/{action} endpoint only checks the baseline api.access permission and never evaluates the authorize field a plugin registered for that action. Any authenticated caller with api.access can therefore invoke a privileged menubar action directly, bypassing the intended authorization. No plugin bundled with core Grav currently registers a privileged authorize handler, so on a stock install the impact is latent; the flaw affects any first- or third-party plugin relying on the documented authorize semantics.
π@cveNotify
GitHub
MenubarController::executeAction() never enforces the authorize requirement it advertises
## Vulnerability Details
**Component**: getgrav/grav-plugin-api (bundled with Grav 2.0's admin-next/API stack)
**File**: `classes/Api/Controllers/MenubarController.php`
**Lines**: 82-115 (`exe...
**Component**: getgrav/grav-plugin-api (bundled with Grav 2.0's admin-next/API stack)
**File**: `classes/Api/Controllers/MenubarController.php`
**Lines**: 82-115 (`exe...
π¨ CVE-2026-75837
Grav before 2.0.14 fails to guard the access field in the core group blueprint with the required security@: admin.super restriction. A delegated admin.users operator can save a group with access[admin][super]=true to escalate to super-admin, gaining scheduler and Twig evaluation capabilities.
π@cveNotify
Grav before 2.0.14 fails to guard the access field in the core group blueprint with the required security@: admin.super restriction. A delegated admin.users operator can save a group with access[admin][super]=true to escalate to super-admin, gaining scheduler and Twig evaluation capabilities.
π@cveNotify
GitHub
Missing admin.super guard on core group blueprint access field allows admin.users operator to escalate to super-admin
## Summary
The core Flex group blueprint `system/blueprints/user/group.yaml` (access field, lines 48-55) omits the `security@: admin.super` field guard that its sibling account blueprint carries (...
The core Flex group blueprint `system/blueprints/user/group.yaml` (access field, lines 48-55) omits the `security@: admin.super` field guard that its sibling account blueprint carries (...
π¨ CVE-2026-75838
DOMPurify before 3.4.13 contains a cross-site scripting vulnerability in IN_PLACE sanitization where element-removal hooks fail to neutralize detached subtrees. Attackers can supply HTML with event handlers on descendant elements that execute after sanitization completes, even though the returned root appears clean.
π@cveNotify
DOMPurify before 3.4.13 contains a cross-site scripting vulnerability in IN_PLACE sanitization where element-removal hooks fail to neutralize detached subtrees. Attackers can supply HTML with event handlers on descendant elements that execute after sanitization completes, even though the returned root appears clean.
π@cveNotify
GitHub
IN_PLACE hook removal leaves a detached subtree executable, causing XSS
### Summary
During `IN_PLACE` sanitization, a hook that removes an element can leave that element's detached descendants executable. A descendant image can retain its attacker-provided `onlo...
During `IN_PLACE` sanitization, a hook that removes an element can leave that element's detached descendants executable. A descendant image can retain its attacker-provided `onlo...
π¨ CVE-2026-75839
ArcadeDB (com.arcadedb:arcadedb-server) versions <= 26.7.3 contain an insecure direct object reference (IDOR) vulnerability in the Raft cluster-info endpoints (GetClusterHandler and PostBootstrapStateHandler), which authenticate but do not authorize access. On an ArcadeDB HA cluster (only reachable when arcadedb.ha.enabled is set and the ha-raft module is loaded), any authenticated user β including one granted access to only one database or none β can enumerate the full server database registry and retrieve per-database metadata such as database names, last transaction IDs, bootstrap fingerprints, and peer/leader cluster topology, resulting in cross-database information disclosure. Fixed in 26.8.1.
π@cveNotify
ArcadeDB (com.arcadedb:arcadedb-server) versions <= 26.7.3 contain an insecure direct object reference (IDOR) vulnerability in the Raft cluster-info endpoints (GetClusterHandler and PostBootstrapStateHandler), which authenticate but do not authorize access. On an ArcadeDB HA cluster (only reachable when arcadedb.ha.enabled is set and the ha-raft module is loaded), any authenticated user β including one granted access to only one database or none β can enumerate the full server database registry and retrieve per-database metadata such as database names, last transaction IDs, bootstrap fingerprints, and peer/leader cluster topology, resulting in cross-database information disclosure. Fixed in 26.8.1.
π@cveNotify
GitHub
Raft cluster-info endpoints leak cross-database metadata to any authenticated user (IDOR)
## Summary
On an ArcadeDB HA cluster, the Raft cluster-info endpoints authenticate but do not authorize: they enumerate the full server database registry and return per-database metadata (names, bo...
On an ArcadeDB HA cluster, the Raft cluster-info endpoints authenticate but do not authorize: they enumerate the full server database registry and return per-database metadata (names, bo...
π¨ CVE-2026-75840
ArcadeDB before 26.8.1 contains an arbitrary file read vulnerability in the GraalVM JavaScript sandbox allowlist enforcement, which uses unescaped regular expressions to validate package names. Attackers with trigger creation privileges can use Java.type() to access java.util.zip.ZipFile or java.util.jar.JarFile classes and read arbitrary files on the host system as the ArcadeDB server process.
π@cveNotify
ArcadeDB before 26.8.1 contains an arbitrary file read vulnerability in the GraalVM JavaScript sandbox allowlist enforcement, which uses unescaped regular expressions to validate package names. Attackers with trigger creation privileges can use Java.type() to access java.util.zip.ZipFile or java.util.jar.JarFile classes and read arbitrary files on the host system as the ArcadeDB server process.
π@cveNotify
GitHub
Unescaped Regex in JS Sandbox Package Allowlist Enables Arbitrary Host File Read via Triggers
## Summary
ArcadeDB's GraalVM JavaScript sandbox (used by triggers, functions, and scripted
queries) restricts which Java classes a script may look up via `Java.type(...)`
to a short allow...
ArcadeDB's GraalVM JavaScript sandbox (used by triggers, functions, and scripted
queries) restricts which Java classes a script may look up via `Java.type(...)`
to a short allow...
π¨ CVE-2026-75841
ArcadeDB before 26.8.1 contains a denial of service vulnerability in the Cypher range() function that allows authenticated users to exhaust server heap memory. Attackers can submit oversized range() expressions with large bounds to trigger OutOfMemoryError and cause temporary service degradation or unavailability.
π@cveNotify
ArcadeDB before 26.8.1 contains a denial of service vulnerability in the Cypher range() function that allows authenticated users to exhaust server heap memory. Attackers can submit oversized range() expressions with large bounds to trigger OutOfMemoryError and cause temporary service degradation or unavailability.
π@cveNotify
GitHub
`range()` with a large bound exhausts the server heap and causes an `OutOfMemoryError`
### Summary
An authenticated user with permission to execute Cypher queries can submit an oversized `range()` expression that exhausts the serverβs configured Java heap and triggers a `java.lang...
An authenticated user with permission to execute Cypher queries can submit an oversized `range()` expression that exhausts the serverβs configured Java heap and triggers a `java.lang...
π¨ CVE-2026-75842
ArcadeDB versions before 26.8.1 contain an arbitrary file read vulnerability in the OpenCypher LOAD CSV FROM clause that allows authenticated users to read local files. Attackers with read query privileges can use the file:// protocol in LOAD CSV statements to access arbitrary files with server process privileges, exfiltrating sensitive data directly in query responses.
π@cveNotify
ArcadeDB versions before 26.8.1 contain an arbitrary file read vulnerability in the OpenCypher LOAD CSV FROM clause that allows authenticated users to read local files. Attackers with read query privileges can use the file:// protocol in LOAD CSV statements to access arbitrary files with server process privileges, exfiltrating sensitive data directly in query responses.
π@cveNotify
GitHub
Cypher LOAD CSV FROM file:// allows arbitrary local file read by any query-capable user
## Summary
Any authenticated user who can run a read query (e.g. the built-in `readonly` group) can read arbitrary files on the ArcadeDB host in the **default** configuration via the OpenCypher `L...
Any authenticated user who can run a read query (e.g. the built-in `readonly` group) can read arbitrary files on the ArcadeDB host in the **default** configuration via the OpenCypher `L...
π¨ CVE-2026-75843
ArcadeDB before 26.8.1 fails to bind the authenticated principal on the gRPC transaction executor thread in beginTransaction, allowing authenticated readers to execute JavaScript commands without scripting authorization checks. Attackers can execute executeCommand with a transaction ID to run unrestricted JavaScript that creates server-wide administrator accounts.
π@cveNotify
ArcadeDB before 26.8.1 fails to bind the authenticated principal on the gRPC transaction executor thread in beginTransaction, allowing authenticated readers to execute JavaScript commands without scripting authorization checks. Attackers can execute executeCommand with a transaction ID to run unrestricted JavaScript that creates server-wide administrator accounts.
π@cveNotify
GitHub
gRPC external-transaction command path bypasses scripting authorization gate, allowing reader to escalate to server admin
## Summary
The same privilege-escalation class as the HTTP async path exists on the gRPC external-transaction command path. `beginTransaction` creates a dedicated single-thread executor whose lamb...
The same privilege-escalation class as the HTTP async path exists on the gRPC external-transaction command path. `beginTransaction` creates a dedicated single-thread executor whose lamb...
π¨ CVE-2026-75844
ArcadeDB versions before 26.8.1 contain a server-side request forgery vulnerability in the IMPORT DATABASE command where the security validator resolves and checks hostnames but the subsequent connection re-resolves the raw URL and follows redirects. Authenticated attackers can bypass the validator using DNS rebinding or HTTP redirects to access cloud metadata endpoints, internal services, or read arbitrary local files on default installations.
π@cveNotify
ArcadeDB versions before 26.8.1 contain a server-side request forgery vulnerability in the IMPORT DATABASE command where the security validator resolves and checks hostnames but the subsequent connection re-resolves the raw URL and follows redirects. Authenticated attackers can bypass the validator using DNS rebinding or HTTP redirects to access cloud metadata endpoints, internal services, or read arbitrary local files on default installations.
π@cveNotify
GitHub
Incomplete fix of CVE-2026-54077 - the IMPORT DATABASE SSRF validator resolves-and-discards
## Summary
Incomplete fix of CVE-2026-54077: the IMPORT DATABASE SSRF validator resolves and checks the hostname but the subsequent connection re-resolves the raw URL and follows redirects, so D...
Incomplete fix of CVE-2026-54077: the IMPORT DATABASE SSRF validator resolves and checks the hostname but the subsequent connection re-resolves the raw URL and follows redirects, so D...
π¨ CVE-2026-75845
ArcadeDB versions 26.4.2 through 26.7.3 contain an authorization bypass vulnerability in the set_server_setting MCP server-level tool. SetServerSettingTool.execute() gates only on the global allowAdmin flag and never checks the caller's role, so in an MCP deployment with allowAdmin=true and a non-root allowedUsers set, any authenticated read-only user can invoke set_server_setting to modify server GlobalConfiguration, enabling configuration tampering or denial of service. The issue is fixed in 26.8.1.
π@cveNotify
ArcadeDB versions 26.4.2 through 26.7.3 contain an authorization bypass vulnerability in the set_server_setting MCP server-level tool. SetServerSettingTool.execute() gates only on the global allowAdmin flag and never checks the caller's role, so in an MCP deployment with allowAdmin=true and a non-root allowedUsers set, any authenticated read-only user can invoke set_server_setting to modify server GlobalConfiguration, enabling configuration tampering or denial of service. The issue is fixed in 26.8.1.
π@cveNotify
GitHub
Authorization bypass in ArcadeDB MCP: read-only user can invoke server-admin set_server_setting
## Summary
The recent MCP hardening bound the authenticated principal so **database-level** MCP tools (`execute_command`, `upsert_*`, `query`) enforce the caller's per-user database permission...
The recent MCP hardening bound the authenticated principal so **database-level** MCP tools (`execute_command`, `upsert_*`, `query`) enforce the caller's per-user database permission...