Skip to content

chore(stack): pin imgproxy to v3.8.0 - #6752

Closed
supabase-cli-releaser[bot] wants to merge 1 commit into
developfrom
sync/stack-workload-catalog-imgproxy
Closed

supabase-cli-releaser[bot] wants to merge 1 commit into
developfrom
sync/stack-workload-catalog-imgproxy

Conversation

@supabase-cli-releaser

Copy link
Copy Markdown
Contributor

Pins packages/stack/src/Artifacts.ts to the
imgproxy v3.8.0
slim-services release and its image digest.

Opened from the mirror-slim-image dispatch. artifactFor derives the
native release tag, asset names, and URLs from service + version, so this
pin is the whole change.

@supabase-cli-releaser
supabase-cli-releaser Bot force-pushed the sync/stack-workload-catalog-imgproxy branch from d16cffa to eec9807 Compare September 23, 2026 15:03
@supabase-cli-releaser
supabase-cli-releaser Bot requested a review from a team as a code owner September 23, 2026 15:03
"imgproxy",
"v3.8.0",
"ghcr.io/supabase/cli/imgproxy:v3.8.0",
"ghcr.io/supabase/cli/imgproxy:v3.8.0@sha256:75fcf5f5a72bc4bce354d1b5dfb4636a2e6979f0ce68cdacc51ed1bce2ab494e",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Severity: MEDIUM

While the digest pin improves reproducibility, it locks the stack to imgproxy v3.8.0, affected by CVE-2023-30019. A caller-controlled image source from Storage reaches imgproxy’s fetcher; its vulnerable URL handling can request loopback/internal services and return their contents, enabling SSRF.
Helpful? Add 👍 / 👎

💡 Fix Suggestion

Suggestion: Upgrade imgproxy from v3.8.0 to v3.15.0 or later to remediate CVE-2023-30019. The fix requires two coordinated changes in the imgproxy: definition(...) block:

  1. Update the version string on line 101 from "v3.8.0" to the patched version (e.g. "v3.15.0").
  2. Update the image reference on line 102 to match the new version tag and its corresponding SHA256 digest from ghcr.io/supabase/cli/imgproxy (the Supabase-mirrored image). The new digest must be fetched from the registry (e.g. docker manifest inspect ghcr.io/supabase/cli/imgproxy:v3.15.0 --verbose | jq '.[0].Descriptor.digest') to maintain digest pinning. The dispatch workflow that created this PR (mirror-slim-image) should be re-run targeting v3.15.0 or newer to automatically populate the correct version string and digest.

"imgproxy",
"v3.8.0",
"ghcr.io/supabase/cli/imgproxy:v3.8.0",
"ghcr.io/supabase/cli/imgproxy:v3.8.0@sha256:75fcf5f5a72bc4bce354d1b5dfb4636a2e6979f0ce68cdacc51ed1bce2ab494e",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Severity: MEDIUM

While the digest pin improves reproducibility, it locks the stack to imgproxy v3.8.0, affected by CVE-2023-1496. A malicious uploaded SVG can flow through Storage’s image-transformation request into imgproxy’s SVG renderer, whose generated response is returned to the requester, enabling script execution through the transformed image.
Helpful? Add 👍 / 👎

💡 Fix Suggestion

Suggestion: Upgrade the imgproxy pin from v3.8.0 to v3.14.0 or later to remediate CVE-2023-1496. This requires two coordinated updates in the same definition block:

  1. Update the defaultVersion string (line 101) from "v3.8.0" to the target version (e.g. "v3.14.0").
  2. Update the image reference (line 102) to the new tag and its corresponding SHA-256 digest, e.g. "ghcr.io/supabase/cli/imgproxy:v3.14.0@sha256:<digest>".

The correct digest must be retrieved from the GHCR registry for the Supabase CLI wrapper image (ghcr.io/supabase/cli/imgproxy) at the chosen version. You can obtain it by running:

docker manifest inspect ghcr.io/supabase/cli/imgproxy:v3.14.0 --verbose | jq '.[0].Descriptor.digest'

or by inspecting the package page at https://github.com/supabase/cli/pkgs/container/cli%2Fimgproxy. Do not remove the digest pin when upgrading, as it is important for supply-chain integrity.

@avallete avallete closed this Sep 23, 2026
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