Skip to content

[CALCITE-7605] Add threat model - #5020

Closed
rubenada wants to merge 2 commits into
apache:mainfrom
rubenada:CALCITE-7605
Closed

[CALCITE-7605] Add threat model#5020
rubenada wants to merge 2 commits into
apache:mainfrom
rubenada:CALCITE-7605

Conversation

@rubenada

Copy link
Copy Markdown
Contributor

Jira Link

[CALCITE-7605] Add threat model

Changes Proposed

Add security threat model.

@sonarqubecloud

Copy link
Copy Markdown

@rubenada

Copy link
Copy Markdown
Contributor Author

@vlsi I have tried to combine here the initial drafts that we discussed on the email thread.
Should we ping someone from Apache security to help us out?

@xiedeyantu

Copy link
Copy Markdown
Member

Appreciate you driving this! It looks reviewed based on the emails—should we finish it up?

@rubenada

rubenada commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

@potiuk , if you have a bit of time, could you please take a quick look at this draft? Thanks!

@vlsi

vlsi commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

I opened #5115 as an alternative draft for the same Jira.

It reorganizes the same normative content (attacker model, P1–P4, the class-loading rule, DoS goals) rather than replacing it, and makes two structural changes I found easier to review as a whole diff than as inline comments here:

  • the concrete class-loading sinks move to a separate living document, so a new CVE updates that inventory and not the ratified model;
  • the STRIDE table and the ASCII diagram are dropped — the reasoning is in the PR description.

This isn't meant to compete with your PR. Whichever framing the PMC prefers, I'm happy to fold the pieces back into #5020 instead. Interested in your take.

@rubenada

Copy link
Copy Markdown
Contributor Author

Thanks @vlsi ! No problem at all. I'm happy to move this forward with your PR.

@potiuk

potiuk commented Jul 21, 2026

Copy link
Copy Markdown
Member

Sorry for missing it before - looking at it now !

@potiuk

potiuk commented Jul 21, 2026

Copy link
Copy Markdown
Member

Thanks @rubenada for driving this and combining the initial drafts. I read both this and #5115 against the threat-model rubric — the normative core (attacker model, P1–P4, the surprising-vs-unsurprising class-loading rule) is the same in both, and #5115 consolidates it a bit tighter: it drops the STRIDE table (which carried a couple of internal tensions — pushed-down SQL injection framed as both in- and out-of-scope, and the Janino/UDF row describing the boundary as input-sanitization rather than the actual class-loading gate), reframes DoS as a hardening goal rather than per-report vulnerabilities, and splits the concrete sink list into a separate living doc.

Since you've already offered to move forward with @vlsi's #5115, that reads as the right call to me too — so this one can probably be closed in favor of #5115. I've layered three additive suggestions on top of #5115 — an inputs table, a downstream-responsibilities section, and a closed triage-disposition set — in vlsi#3, for you both to take or leave.

Thanks again for pushing this forward — the model's in good shape.

@rubenada

Copy link
Copy Markdown
Contributor Author

Thanks @vlsi and @potiuk for the suggestions.
As agreed, closing this in favor of #5115

@rubenada rubenada closed this Jul 21, 2026
vlsi added a commit to vlsi/calcite that referenced this pull request Jul 25, 2026
Document what Calcite treats as a security vulnerability: the attacker
model, the properties it provides and disclaims (P1-P4), the
surprising-vs-unsurprising class-loading rule, and denial of service as
a hardening goal. Add SECURITY.md with the private-reporting channel.

This is an alternative draft for the same Jira as apache#5020, reorganizing the
same normative content into a structure that is easier to read and to
maintain per-CVE.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
vlsi added a commit to vlsi/calcite that referenced this pull request Jul 25, 2026
Document what Calcite treats as a security vulnerability: the attacker
model, the properties it provides and disclaims (P1-P4), the
surprising-vs-unsurprising class-loading rule, and denial of service as
a hardening goal. Add SECURITY.md with the private-reporting channel.

This is an alternative draft for the same Jira as apache#5020, reorganizing the
same normative content into a structure that is easier to read and to
maintain per-CVE.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
vlsi added a commit that referenced this pull request Jul 25, 2026
Document what Calcite treats as a security vulnerability: the attacker
model, the properties it provides and disclaims (P1-P4), the
surprising-vs-unsurprising class-loading rule, and denial of service as
a hardening goal. Add SECURITY.md with the private-reporting channel.

This is an alternative draft for the same Jira as #5020, reorganizing the
same normative content into a structure that is easier to read and to
maintain per-CVE.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.

4 participants