Skip to content

Security hardening: viewer summary cap, owner validation, cont3xt fixes#3928

Merged
awick merged 1 commit into
mainfrom
opus-improvements-36
Apr 29, 2026
Merged

Security hardening: viewer summary cap, owner validation, cont3xt fixes#3928
awick merged 1 commit into
mainfrom
opus-improvements-36

Conversation

@awick

@awick awick commented Apr 29, 2026

Copy link
Copy Markdown
Contributor
  • viewer/apiSessions.js: cap /api/sessions/summary length param at 1000 and validate it as a positive integer before using as ES terms size.
  • common/user.js: in setOwner, reject non-string/empty creator values up front so truthy non-strings can't bypass the isString check and be persisted as the resource owner.
  • cont3xt/integration.js: add hasUserConfig() helper to detect when a setting comes from per-user config vs global.
  • cont3xt/integrations/threatstream: only honor a per-user host override when the user/key are also per-user, otherwise fall back to the global host. Prevents leaking globally-configured Threatstream API credentials to a user-chosen domain (SSRF + credential disclosure).
  • cont3xt/integrations/csvjson: add 60s timeout and 1GB maxContentLength/maxBodyLength on remote feed loads.

License

I confirm that this contribution is made under an Apache 2.0 license and that I have the authority necessary to make this contribution on behalf of its copyright owner.

- viewer/apiSessions.js: cap /api/sessions/summary length param at 1000
  and validate it as a positive integer before using as ES terms size.
- common/user.js: in setOwner, reject non-string/empty creator values up
  front so truthy non-strings can't bypass the isString check and be
  persisted as the resource owner.
- cont3xt/integration.js: add hasUserConfig() helper to detect when a
  setting comes from per-user config vs global.
- cont3xt/integrations/threatstream: only honor a per-user host override
  when the user/key are also per-user, otherwise fall back to the global
  host. Prevents leaking globally-configured Threatstream API
  credentials to a user-chosen domain (SSRF + credential disclosure).
- cont3xt/integrations/csvjson: add 60s timeout and 1GB
  maxContentLength/maxBodyLength on remote feed loads.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@awick awick merged commit 924406c into main Apr 29, 2026
15 checks passed
@awick awick deleted the opus-improvements-36 branch April 29, 2026 17:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant