Read the docs
TI-2026-66425 Aliases GHSA-5j35-xr4g-vwf4

@grackle-ai/server has a Missing Secure Flag on Session Cookie

Priority LOW 38CWE-614Published · Updated

Key facts

Attack vector
—
Privileges required
—
User interaction
—
Attack complexity
—
Impact type
—
Confidentiality · integrity · availability
—
Fix status
Fixed

No CVSS vector from any source. Fix status from GitHub.

Summary

### Impact The session cookie is set with `HttpOnly; SameSite=Lax; Path=/` but does not include the `Secure` flag. This means the cookie will be sent over plain HTTP connections. Since the server binds to `127.0.0.1` by default and uses HTTP (not HTTPS), this is acceptable for localhost use. However, when `--allow-network` is used to bind to `0.0.0.0`, cookies could be transmitted over insecure network connections and intercepted by an attacker. **Affected code:** - `packages/server/src/session.ts:76` — cookie string lacks `; Secure` attribute ### Patches 0.70.5 **Fix:** Conditionally add `; Secure` when served over HTTPS or when `--allow-network` is enabled: ```typescript const securePart = isHttps ? "; Secure" : ""; return `${SESSION_COOKIE_NAME}=${cookieValue}; HttpOnly; SameSite=Lax; Path=/${securePart}; Max-Age=${maxAge}`; ``` ### Workarounds Do not use `--allow-network` over untrusted networks without a TLS-terminating reverse proxy. ### Resources - OWASP: Secure Cookie Attribute - File: `packages/server/src/session.ts`

Why it matters now

Fix Fixed @grackle-ai/server (npm): 0.70.5

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
—@grackle-ai/server (npm)before 0.70.50.70.5Patch availableGHSA-5j35-xr4g-vwf4
  • @grackle-ai/server (npm) Vendor— Affected before 0.70.5 Fixed in 0.70.5 Patch available GHSA-5j35-xr4g-vwf4

Remediation

  • Fix · GHSA-5j35-xr4g-vwf4 @grackle-ai/server (npm) Fixed in 0.70.5 Advisory →

Timeline

  1. 2026-10-03 Threatist record created from GHSA-5j35-xr4g-vwf4

References

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences