Junglewise Threat Intelligence

Grackle Server JSON.parse missing error handling in gRPC adapter config

Severity: medium · CVSS 4 · Published 2026-03-25

Technologies: @grackle-ai/server (npm). Vendors: npm.

Executive brief

@grackle-ai/server is a Node.js library for managing AI coding agents on remote machines. The service fails to handle errors when parsing JSON-formatted adapter configuration stored in its internal SQLite database, which could cause the gRPC service to crash if the database becomes corrupted or enters an invalid state. Additionally, parsed configuration is cast without validation, creating a potential prototype pollution surface if the database is compromised.

Technical details

The vulnerability is an improper exception handling issue (CWE-754) in the gRPC service layer. JSON.parse() is called on env.adapterConfig in three locations (gRPC-service.ts lines 415, 482, 498) without try-catch wrapping. While the data originates from the server's own SQLite database and should be valid JSON under normal conditions, database corruption, migration errors, or unexpected state transitions can trigger an unhandled exception that crashes the gRPC handler. The parsed result is cast as Record<string, unknown> and passed to adapter methods without property validation, theoretically enabling prototype pollution if the database is compromised. The attack vector requires prior access to modify the SQLite database. Fixed in version 0.70.6; all prior versions are affected.

Affected products

  • Grackle @grackle-ai/server <= 0.70.5

Timeline

  • 2026-03-22: disclosed
  • 2026-03-25: advisory
  • 2026-03-25: patched: Fixed in version 0.70.6

References

Related threats