This release includes 6 security fixes for security teams reviewing exposed deployments.
Topics
+14 more
Affected surfaces
Summary
AI summaryRemoved hardcoded JWT_SECRET/ENCRYPTION_KEY fallbacks; missing or placeholder keys now cause startup failure.
Full changelog
First batch of security blockers from the full project review (#101).
Highlights
- Secrets: removed hardcoded
JWT_SECRET/ENCRYPTION_KEYfallbacks; the app refuses to start if either is missing or below 32 chars or matches a known placeholder. - SSRF guard: DNS-aware host check that blocks loopback, link-local (incl.
169.254.169.254cloud metadata), RFC1918, CGNAT and IPv4-mapped IPv6 — applied to REST/GraphQL/SOAP/MCP-client engines, OAuth2 token service, mcp-oauth, and OpenAPI/Postman/GraphQL spec fetchers. - SQL injection:
DatabaseEnginenow compiles templates to driver-specific prepared statements ($1pg,?mysql/sqlite,@p0mssql,:b0oracle); user values are bound, never inlined. - Template injection: REST
bodyTemplaterejects__proto__/constructor/prototypekeys and JSON-encodes interpolated values. - IDOR: tools
update/deletepinned toconnectorId; roles and users admin endpoints scoped to the requesting organization. - HTTP: Helmet middleware, HSTS in prod, CORS rejects
'*' + credentialsin production, per-endpoint rate limiting on auth flows. - Dependencies:
npm audit fixbrings vulnerabilities from 43 (1 critical, 22 high, 20 moderate) down to 11 (1 high, 10 moderate transitive); Dependabot config added.
Compatibility note
After upgrade you must set JWT_SECRET and ENCRYPTION_KEY to real values (≥32 chars, not the documented placeholders). Generate with openssl rand -base64 48. The app will refuse to boot otherwise — that is the fix.
Breaking Changes
- Removed hardcoded JWT_SECRET and ENCRYPTION_KEY fallbacks; application aborts on startup if either is missing, <32 characters, or matches a known placeholder.
Security Fixes
- SSRF guard added: DNS-aware host checks block loopback, link‑local (including cloud metadata), RFC1918, CGNAT and IPv4‑mapped IPv6 across REST/GraphQL/SOAP/MCP‑client engines, OAuth2 token service, mcp‑oauth and OpenAPI/Postman/GraphQL spec fetchers.
- DatabaseEngine now compiles SQL templates to driver‑specific prepared statements (no inlined user values).
- REST bodyTemplate rejects __proto__, constructor, prototype keys; JSON‑encodes interpolated values preventing template injection.
- update/delete tools pinned to connectorId; admin endpoints for roles and users scoped to requesting organization mitigating IDOR.
- Helmet middleware, HSTS in production, CORS rejecting '*' + credentials, per‑endpoint rate limiting on auth flows added.
- npm audit fix reduces vulnerabilities from 43 (1 critical) to 11 (1 high); Dependabot config added.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About AnythingMCP
All releases →Related context
Beta — feedback welcome: [email protected]