Skip to content

Improve intended behavior in SECURITY.md to avoid security advisories being submitted for functionality that is by design - #3455

Open
richturner wants to merge 6 commits into
mainfrom
docs/security-policy-intended-behaviour
Open

richturner wants to merge 6 commits into
mainfrom
docs/security-policy-intended-behaviour

Conversation

@richturner

@richturner richturner commented Oct 20, 2026 •

Copy link
Copy Markdown
Member

Description

Adds a "Behavior That Is Intended" section to SECURITY.md, which GitHub links from the vulnerability report form.

Webhook actions and agent protocols connect to whatever address they are configured with, internal addresses included, and we keep receiving reports that treat this as SSRF. The section states that this is intended, that restricting egress belongs to the deployment, and which cases remain in scope: reaching these features without the required role or from another realm, exposing a response or secret to someone who could not read it otherwise, and bypassing an operator-configured destination restriction.

It sits before "What To Include" so reporters see it before they write a report.

Checklist

  • 1. Acceptance criteria of the linked issue(s) are met
  • 2. Tests are written and all tests pass
  • 3. Changes are manually tested by you and the reviewer
  • 4. Documentation is written or updated

Webhook actions and agent protocols connect to user-configured
addresses by design. Several reports have treated this as SSRF, so
state the intended behaviour, where egress restriction belongs and
what remains in scope.
@richturner
richturner requested a review from a team October 20, 2026 12:26
@richturner richturner self-assigned this Oct 20, 2026
@richturner richturner changed the title Document intended outbound connection behaviour in security policy Improve intended behaviour in SECURITY.md to avoid security advisories being submitted for functionality that is by design Oct 21, 2026

@wborn wborn left a comment

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.

This is an initial AI-assisted review.

The new section provides useful clarification about intentionally unrestricted outbound connectivity and deployment-level network controls. This aligns with OpenRemote's integration capabilities and helps distinguish expected functionality from genuine security vulnerabilities.

The notification delivery and acknowledgement section should describe its intended authorization boundaries more precisely. The implementation only permits anonymous updates for notifications targeting publicly readable assets, and the security policy should explicitly preserve reports involving unauthorized notification state modifications, including those occurring within the same realm.

Comment thread SECURITY.md Outdated

@wborn wborn left a comment

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.

Could the intended security behavior of Groovy rules and the read:logs role also be described here?

For example:

  • Groovy: Scripts are not sandboxed and can access the filesystem and network with the Manager's privileges. Creating or modifying them is therefore restricted to superusers, regardless of the write:rules role.
  • Logs: The read:logs role provides access to Manager-wide logs, including logs from other realms, rather than being restricted to the user's realm.

It would also be good to document these security boundaries in openremote/documentation, where they currently appear to be missing.

…ty policy

Address review feedback: describe the anonymous notification update
boundary precisely, document Groovy rules and read:logs as intended
behavior, keep the related violations in scope and use US spelling.
@richturner richturner changed the title Improve intended behaviour in SECURITY.md to avoid security advisories being submitted for functionality that is by design Improve intended behavior in SECURITY.md to avoid security advisories being submitted for functionality that is by design Oct 27, 2026
@richturner
richturner requested a review from wborn October 27, 2026 16:55
@richturner
richturner force-pushed the docs/security-policy-intended-behaviour branch from 490460a to 4652890 Compare October 27, 2026 16:56
@sonarqubecloud

Copy link
Copy Markdown

This branch has not been deployed

No deployments
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.

3 participants