Quick answers
- Is This vulnerability exploited in the wild?
- No. Junglewise Threat Intelligence has no report of This vulnerability being exploited in the wild.
- How severe is This vulnerability?
- Medium severity, with a CVSS score of 4, published 25 March 2026.
- Which products and versions are affected?
- @grackle-ai/server (npm) SEMVER:introduced=0,fixed=0.70.4.
- Is there a fix for This vulnerability?
- Yes. @grackle-ai/server (npm): upgrade to 0.70.4 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is This vulnerability attacked?
- It is attacked over the network.
- Am I affected?
- Check whether you run @grackle-ai/server (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- @grackle-ai/server (npm): upgrade to 0.70.4 or later
npm install @grackle-ai/server@0.70.4
Technical details
The HTTP server in @grackle-ai/server (packages/server/src/index.ts) fails to include security-related HTTP response headers in any of its writeHead() calls, setting only Content-Type. This is a protection mechanism failure (CWE-693) that reduces defense-in-depth against XSS and clickjacking attacks. The vulnerability requires user interaction (UI:P) via a browser to be exploited. While the current codebase is configured safely for XSS (React-markdown is configured securely, no dangerouslySetInnerHTML usage, source maps disabled), the absence of these headers means any future XSS vulnerability would bypass the secondary defense layer. The fix, available in version 0.70.4, adds Content-Security-Policy, X-Frame-Options, and X-Content-Type-Options headers to all responses. As a workaround, deploying a reverse proxy (nginx, Caddy) in front of Grackle can inject these headers.
Affected products
- nick-pape @grackle-ai/server < 0.70.4
Timeline
- 2026-03-25: disclosed
- 2026-03-25: patched: patch released in version 0.70.4