From e1691fdfe64f475ff410bb305cc94e2fae9c6af1 Mon Sep 17 00:00:00 2001 From: Tony Dehnke Date: Tue, 24 Feb 2026 04:10:26 +0000 Subject: [PATCH] fix(mattermost): add SSRF policy for media downloads Allow fetching attachments from the Mattermost server host, which may be localhost or a private IP. Without this, SSRF guards block inbound media downloads silently. Credit: @webclerk (#22594) for identifying this gap. --- extensions/mattermost/src/mattermost/monitor.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/extensions/mattermost/src/mattermost/monitor.ts b/extensions/mattermost/src/mattermost/monitor.ts index 7e1eaeb5f49..25355146adc 100644 --- a/extensions/mattermost/src/mattermost/monitor.ts +++ b/extensions/mattermost/src/mattermost/monitor.ts @@ -674,6 +674,10 @@ export async function monitorMattermostProvider(opts: MonitorMattermostOpts = {} }, filePathHint: fileId, maxBytes: mediaMaxBytes, + // Allow fetching from the Mattermost server host (may be localhost or + // a private IP). Without this, SSRF guards block media downloads. + // Credit: #22594 (@webclerk) + ssrfPolicy: { allowedHostnames: [new URL(client.baseUrl).hostname] }, }); const saved = await core.channel.media.saveMediaBuffer( fetched.buffer,