Skip to content

fix: protect plugin requests against ssrf and reach data-fair with private agents - #120

Merged
albanm merged 5 commits into
masterfrom
fix-ssrf
Oct 7, 2026
Merged

albanm merged 5 commits into
masterfrom
fix-ssrf

Conversation

@albanm

@albanm albanm commented Oct 7, 2026

Copy link
Copy Markdown
Member

Upgrade lib-node 2.15 / lib-express 1.28.1 / lib-node-registry 0.7.2, whose default HTTP agents refuse non public addresses: plugin requests through context.axios are now protected. Requests to data-fair and to the registry use the private agents. The data-fair URL is matched by origin and base path instead of a string prefix (it decides which requests receive the data-fair API key), and data-fair requests no longer follow redirections. Mails sent by plugins can no longer read local files or fetch URLs.

Why: processing configurations and remote content choose the URLs plugins request; they must not reach our infrastructure or receive our credentials.

Heads-up: instances whose plugins fetch intranet sources must declare them in SSRF_PUBLIC_IPS; dev environments need SSRF_PUBLIC_IPS=127.0.0.1,::1 (added to dev/init-env.sh). Data-fair now only accepts the processings admin API key on internal calls: set PRIVATE_DATA_FAIR_URL.

albanm and others added 5 commits October 5, 2026 16:20
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…d with private agents

Upgrade lib-node 2.15 whose default agents refuse non public addresses: plugin
requests through context.axios are guarded, data-fair and registry requests
use the private agents. The data-fair url is matched by origin and base path
instead of a string prefix that sent the api key to lookalike hosts, and
data-fair requests do not follow redirections.

Dev environments must allow the loopback with SSRF_PUBLIC_IPS.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
# Conflicts:
#	api/package.json
#	package-lock.json
simple-directory added a show-password button whose label also matches.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
# Conflicts:
#	api/package.json
#	package-lock.json
#	package.json
#	shared/package.json
#	worker/package.json
@github-actions github-actions Bot added the fix label Oct 7, 2026
@albanm
albanm merged commit b7f8e35 into master Oct 7, 2026
4 checks passed
@albanm
albanm deleted the fix-ssrf branch October 7, 2026 14:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant