Summary
@grackle-ai/mcp has a workspace authorization bypass in its knowledge_search MCP tool
Design Note
Cross-workspace knowledge sharing is a legitimate future feature, agents working across different repos may need to collaborate and share knowledge. However, this access should be opt-in with explicit grants, not an implicit bypass. The immediate fix locks scoped agents to their own workspace. A future design could introduce:
- Workspace-level "share knowledge with" settings
- A
cross_workspacescope on scoped tokens - Explicit
workspaceIds(plural) in the auth context
Workarounds
Do not use scoped agent tokens in multi-workspace deployments until patched. Alternatively, remove knowledge_search and knowledge_get_node from the SCOPED_TOOLS set in tool-scoping.ts.
References
- CWE-284: Improper Access Control
- File:
packages/mcp/src/tools/knowledge.ts - File:
packages/mcp/src/tool-scoping.ts
Impact
The knowledge_search and knowledge_get_node MCP tools are included in SCOPED_TOOLS (visible to scoped agents) but their handlers do not receive authContext and do not enforce workspace scoping. A scoped agent in Workspace A can supply an arbitrary workspaceId parameter to search or retrieve knowledge graph nodes from Workspace B, bypassing workspace isolation boundaries.
This is a cross-workspace data leakage vulnerability affecting any deployment where multiple workspaces contain sensitive knowledge graph data and scoped agents are used.
Affected code:
packages/mcp/src/tools/knowledge.ts:146-169(knowledge_search handler)packages/mcp/src/tools/knowledge.ts:244-283(knowledge_get_node handler)packages/mcp/src/tool-scoping.ts:11(both tools listed in SCOPED_TOOLS)
Contrast with correct implementation: knowledge_create_node (same file, lines 334-357) properly receives authContext and overrides the user-supplied workspaceId for scoped callers.
Affected versions
Security releases
Kodem intelligence
Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.
Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.
Already deployed Kodem?
See it in your environmentNew to Kodem? Get a demo →Remediation advice
Fix: Add authContext parameter to knowledge_search and knowledge_get_node handlers and enforce workspace scoping, matching the pattern in knowledge_create_node:
const resolvedWorkspaceId =
authContext?.type === "scoped"
? authContext.workspaceId ?? ""
: workspaceId ?? "";
When cross-workspace collaboration is designed, this check can be relaxed intentionally with proper access controls.
Frequently Asked Questions
- What is GHSA-647H-P824-99W7? GHSA-647H-P824-99W7 is a high-severity security vulnerability in @grackle-ai/mcp (npm), affecting versions <= 0.70.1. It is fixed in 0.70.2.
- Which versions of @grackle-ai/mcp are affected by GHSA-647H-P824-99W7? @grackle-ai/mcp (npm) versions <= 0.70.1 is affected.
- Is there a fix for GHSA-647H-P824-99W7? Yes. GHSA-647H-P824-99W7 is fixed in 0.70.2. Upgrade to this version or later.
- Is GHSA-647H-P824-99W7 exploitable, and should I be worried? Whether GHSA-647H-P824-99W7 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
- What actually determines whether GHSA-647H-P824-99W7 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
- How do I fix GHSA-647H-P824-99W7? Upgrade
@grackle-ai/mcpto 0.70.2 or later.