Skip to content

ARTEMIS-6077 document threat model#6468

Open
jbertram wants to merge 1 commit into
apache:mainfrom
jbertram:ARTEMIS-6077
Open

ARTEMIS-6077 document threat model#6468
jbertram wants to merge 1 commit into
apache:mainfrom
jbertram:ARTEMIS-6077

Conversation

@jbertram
Copy link
Copy Markdown
Contributor

I started this document using this skill which was recommended by Apache security. I heavily modified the output to simplify and clarify the result.

This model is relatively high-level. We can add more details as necessary over time to cover any gaps. The main priority here is to cover all the bases and provide researchers (and AI tools) a reference to avoid a glut of false positives.

Security researchers, operators deploying Artemis in production, and application developers integrating with the broker should consult this model to understand the security contract.

Findings should be reported per link:https://artemis.apache.org/security-advisories[Artemis' security disclosure process].
Findings that that fall under <<security-properties-provided, claimed properties>> will be accepted.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Double that

Suggested change
Findings that that fall under <<security-properties-provided, claimed properties>> will be accepted.
Findings that fall under <<security-properties-provided, claimed properties>> will be accepted.


Security researchers, operators deploying Artemis in production, and application developers integrating with the broker should consult this model to understand the security contract.

Findings should be reported per link:https://artemis.apache.org/security-advisories[Artemis' security disclosure process].
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Optional

Suggested change
Findings should be reported per link:https://artemis.apache.org/security-advisories[Artemis' security disclosure process].
Findings should be reported according to the link:https://artemis.apache.org/security-advisories[Artemis' security disclosure process].


Findings should be reported per link:https://artemis.apache.org/security-advisories[Artemis' security disclosure process].
Findings that that fall under <<security-properties-provided, claimed properties>> will be accepted.
Findings that are <<out-of-scope,out of the scope>> or involve security properties <<security-properties-not-provided,explicitly not provided>> will be closed citing this document.
Copy link
Copy Markdown
Member

@brusdev brusdev May 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The findings are rendered without new lines. Are those findings a list?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not a list. It's just a paragraph.

=== Trust transitions

. *Messaging Client → Broker Core:* Messages from network clients (untrusted or authenticated) are parsed by protocol adapters and routed to the broker core.
Authentication happens at connection establishment; authorization happens per operation (send, consume, create queue, etc.).
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

consume is a bit different: an authorized consumer can consume also after revoking the consume permissions: once the ServerConsumer object is created, no further authorization checks occur during message delivery and the consumer can continue consuming until it disconnects


=== Reachability preconditions per component

* *Protocol Adapters:* A finding is in-model only if reachable from network input on the corresponding protocol port without requiring authenticated management credentials.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this exclude findings that lead to privilege escalations?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No. It's just saying that if you have authenticated management credentials you are trusted and not considered adversarial.


=== Filesystem assumptions

* The broker assumes it has exclusive write access to its data directory (journal, paging, bindings).
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Showuld we also assume a restricted access to the etc directory?

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.

2 participants