Vulnerabilities in pkg:npm/@grackle-ai/server
PACKAGEGHSA-8g29-8xwr-qmhr is a LOW @grackle-ai/server json.parse lacks try-catch logic vulnerability (CWE-754: Improper Check for Unusual or Exceptional Conditions) affecting @grackle ai/server libraries in the npm ecosystem. The issue involves @grackle-ai/server json.parse lacks try-catch logic in its grpc service adapterconfig handling. Remediation is available by upgrading affected packages to version 0.70.6.
pkg:npm/@grackle-ai/server
Vulnerability advisories affecting package pkg:npm/@grackle-ai/server. Select an advisory below to view technical details or fixes.
| Advisory ID | CVE / NVD | Severity | Summary |
|---|---|---|---|
| GHSA-8g29-8xwr-qmhr | - | LOW | @grackle-ai/server JSON.parse lacks try-catch logic in its gRPC Service AdapterConfig Handling |
| GHSA-5j35-xr4g-vwf4 | - | LOW | @grackle-ai/server has a Missing Secure Flag on Session Cookie |
| GHSA-3mjm-x6gw-2x42 | - | MODERATE | @grackle-ai/server has Missing Content-Security-Policy and X-Frame-Options Headers |
| GHSA-w3hv-x4fp-6h6j | - | HIGH | @grackle-ai/server has Missing WebSocket Origin Header Validation |
| GHSA-7q9x-8g6p-3x75 | - | LOW | @grackle-ai/server: Unescaped Error String in renderPairingPage() HTML Template |
GHSA-8g29-8xwr-qmhr at a Glance
How to Fix GHSA-8g29-8xwr-qmhr
To remediate this vulnerability, upgrade all affected @grackle ai/server dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
npm install @grackle-ai/server@0.70.6
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
npm ls @grackle-ai/server
How to Check if You Are Affected
To determine whether your Node.js application is affected by GHSA-8g29-8xwr-qmhr, inspect your project dependencies using npm:
npm ls @grackle-ai/server
Analyze the terminal output to locate any version of @grackle ai/server in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 0.70.6), your application is affected.
Note: The npm ls @grackle-ai/server command inspects dependencies declared in your package.json and lockfile; it does not perform automated runtime dynamic scanning.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-754: Improper Check for Unusual or Exceptional Conditions, where the product does not check or incorrectly checks for unusual or exceptional conditions that are not expected to occur frequently during day to day operation of the product. In @grackle ai/server, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
GHSA-8g29-8xwr-qmhr Affected @grackle ai/server Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
@grackle-ai/server
|
npm |
< 0.70.6
|
0.70.6
|
References
Frequently Asked Questions
What is GHSA-8g29-8xwr-qmhr?
Which @grackle ai/server versions are affected?
What version fixes GHSA-8g29-8xwr-qmhr?
Is @grackle-ai/server affected?
What CWE is associated with GHSA-8g29-8xwr-qmhr?
How can I check npm dependencies for GHSA-8g29-8xwr-qmhr?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-8g29-8xwr-qmhr",
"modified" : "2026-03-25T17:33:01Z",
"published" : "2026-03-25T17:33:01Z",
"aliases" : [ ],
"summary" : "@grackle-ai/server JSON.parse lacks try-catch logic in its gRPC Service AdapterConfig Handling",
"details" : "### Impact\n\n`JSON.parse(env.adapterConfig)` is called without error handling in three locations within the gRPC service. While the data originates from the server's own SQLite database and should always be valid JSON, database corruption, migration errors, or unexpected state could cause an unhandled exception that crashes the gRPC handler.\n\nAdditionally, the parsed result is cast as `Record<string, unknown>` and passed to adapter methods without property validation, creating a theoretical prototype pollution surface if the database is compromised.\n\n**Affected code:**\n- `packages/server/src/grpc-service.ts:415` — `reconnectOrProvision` handler\n- `packages/server/src/grpc-service.ts:482` — `stopEnvironment` handler\n- `packages/server/src/grpc-service.ts:498` — `destroyEnvironment` handler\n\n### Patches\n\n**Fix:** Wrap in try-catch and return a meaningful gRPC error:\n```typescript\nlet config: Record<string, unknown>;\ntry {\n config = JSON.parse(env.adapterConfig) as Record<string, unknown>;\n} catch {\n throw new ConnectError(\"Invalid adapter configuration\", Code.Internal);\n}\n```\n\n### Workarounds\n\nEnsure database integrity. Back up the SQLite database regularly.\n\n### Resources\n\n- CWE-754: Improper Check for Unusual or Exceptional Conditions\n- File: `packages/server/src/grpc-service.ts`",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "npm",
"name" : "@grackle-ai/server"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "0"
}, {
"fixed" : "0.70.6"
} ]
} ],
"database_specific" : {
"last_known_affected_version_range" : "<= 0.70.5"
}
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/nick-pape/grackle/security/advisories/GHSA-8g29-8xwr-qmhr"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/nick-pape/grackle"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-754" ],
"severity" : "LOW",
"github_reviewed" : true,
"github_reviewed_at" : "2026-03-25T17:33:01Z",
"nvd_published_at" : null
}
}