Skip to main content

NonceGeek dim-sum-app CVE-2026-94038

| EUVDEUVD-2026-83754 MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-09-20 VulDB GHSA-wx3w-fghf-hgf7
5.5
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach public textSearchV2 endpoint
  2. Delivery
    Set supabase_url to attacker/internal URL
  3. Exploit
    Backend builds Supabase client with service-role key
  4. Execution
    Server sends request to attacker host
  5. Persist
    Exfiltrate service-role key / hit internal service
  6. Impact
    Full database compromise

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

No special conditions - remote unauthenticated exploitation against default configurations of NonceGeek dim-sum-app's Deno backend, because textSearchV2Handler accepts a client-controlled supabase_url query parameter with no allowlist or validation. Impact severity depends on the SUPABASE_SERVICE_ROLE_KEY being configured (the standard deployment), since that key is what gets sent to the attacker-specified URL. The only real limiter is deployment scarcity: the affected code path must be reachable (the text-search v2 endpoint exposed), which it is by default in vulnerable versions prior to commit 8389032e.

Impact

This is a genuine but moderate-priority SSRF (CWE-918) with an important nuance the vendor score understates. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, all impacts Low, E:P) describes trivially reachable, unauthenticated, remote exploitation - which the source-code evidence confirms: textSearchV2Handler reads an attacker-supplied supabase_url query parameter and passes it straight into createClient(supabase_url, SUPABASE_SERVICE_ROLE_KEY). Beyond ordinary SSRF (reaching internal/cloud-metadata endpoints), this means the Supabase SERVICE ROLE (admin) key is transmitted to an attacker-controlled URL during queries, so realistic impact is credential exfiltration leading to full database compromise - I assess confidentiality as High rather than the vendor's Low. Signals: POC is publicly available (GitHub issue #366) and a patch exists (PR #367 / commit 8389032e), but there is NO EPSS score and NO KEV listing in the provided data, and exploitation status is 'publicly available exploit code exists' - not confirmed active exploitation. The strongly mitigating factor is prevalence: dim-sum-app is an obscure open-source Deno project with negligible production footprint, so despite easy exploitability this is a real-but-low-reach issue rather than a widespread emergency.

Exploit ScenarioDerived

An unauthenticated remote attacker sends a request to the textSearchV2 endpoint with supabase_url pointing to a server they control (or to an internal/metadata address). The Deno backend instantiates a Supabase client against that URL using the site's SUPABASE_SERVICE_ROLE_KEY, causing the server to make requests to the attacker's endpoint and leak the admin key, and/or reach otherwise-unreachable internal services. A public proof-of-concept exists in the project's GitHub issue tracker (#366).

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 20, 2026

Server-side request forgery in NonceGeek dim-sum-app's Deno backend lets remote, unauthenticated attackers redirect outbound requests to an arbitrary host by supplying a crafted supabase_url query parameter to the textSearchV2Handler endpoint (deno/main.tsx). Because the handler builds a Supabase client from that attacker-controlled URL and passes the deployment's SUPABASE_SERVICE_ROLE_KEY as the credential, a successful attack both forces the server to issue requests to attacker-chosen destinations and discloses the service-role key to that endpoint, which in standard deployments can be leveraged for full privileged access to the backing Supabase project and, from there, potential impact on any data or services reachable with that key. The issue is confirmed with publicly available exploit code (disclosed via the project's GitHub issue tracker) but is not listed in CISA KEV, so no confirmed in-the-wild exploitation is established; the vendor has published a fix commit.

RemediationAI

Apply the vendor fix by updating to or past commit 8389032e5d52c28c4855c6126ca7d0eae8af346a (PR https://github.com/NonceGeek/dim-sum-app/pull/367), which removes support for the client-supplied supabase_url parameter and forces the handler to use the module-level client bound to the trusted SUPABASE_URL environment variable; no tagged release version was identified in the input data, so pin the commit or a later build explicitly. Until the patch can be deployed, treat the SUPABASE_SERVICE_ROLE_KEY as compromised and rotate it in Supabase, since the vulnerable code may already have transmitted it to an attacker-chosen endpoint - expect this rotation to invalidate existing privileged integrations that reuse the key. Additional compensating controls: strip or reject any supabase_url (and equivalent destination-override) query parameter at the reverse proxy or WAF in front of the Deno backend, accepting that legitimate clients that relied on the override will break; apply an egress firewall or network policy restricting the backend's outbound traffic to only the expected Supabase project hostname and any other required services, with the trade-off that legitimate third-party integrations will fail until allowlisted; and restrict public network access to the text-search v2 endpoint where feasible. Monitor Supabase and backend logs for outbound requests to unexpected hosts and for anomalous service-role API activity to detect prior exploitation.

Affected VersionsENISA

dim-sum-app n/a

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

dim-sum-app is a small open-source application whose backend runs on Deno (deno/main.tsx) and uses the Supabase JavaScript client for data access. The vulnerable function, textSearchV2Handler, read a client-supplied supabase_url query parameter and, if it differed from the SUPABASE_URL environment variable, called createClient(supabase_url, Deno.env.get("SUPABASE_SERVICE_ROLE_KEY") ?? "") - constructing a new Supabase client pointed at the attacker's URL while still attaching the application's service-role key. This is a classic CWE-918 server-side request forgery: a user-controlled URL is passed to an outbound HTTP client with no allowlist, scheme restriction, or validation, so the server can be induced to send requests to arbitrary internal or external destinations, and the privileged credential travels with those requests. The published patch (commit 8389032e5d52c28c4855c6126ca7d0eae8af346a, PR #367) removes the query-parameter override entirely and reverts the handler to the module-level singleton client bound to the trusted SUPABASE_URL environment variable, eliminating the attacker-controlled destination. The CPE cpe:2.3:a:noncegeek:dim-sum-app:*:*:*:*:*:*:*:* indicates no version constraint was enumerated in the source data, i.e. all builds prior to the fix commit are presumed affected; the exact fix version was not defined by a tagged release in the available inputs.

Know when Dim Sum App gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulDB) PRIMARY 5.5 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
vuln.today AI 8.2 HIGH

Unauthenticated network request with no user interaction (PR:N/UI:N/AC:L); C:H because the service-role admin key is exfiltrated to the attacker, I:L for limited internal request forgery, A:N.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
CVSS changed
Sep 20, 2026 - 17:22 NVD
6.9 (MEDIUM) 5.5 (MEDIUM)
CVE Published
Sep 20, 2026 - 16:30 cve.org
MEDIUM 6.9

DescriptionCVE.org

A security vulnerability has been detected in NonceGeek dim-sum-app. This impacts the function textSearchV2Handler of the file deno/main.tsx of the component Deno Backend. Such manipulation of the argument supabase_url leads to server-side request forgery. The attack can be executed remotely. The exploit has been disclosed publicly and may be used. The name of the patch is 8389032e5d52c28c4855c6126ca7d0eae8af346a. It is best practice to apply a patch to resolve this issue.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Rare
obscure web3/OSS single-project Deno app, no enterprise footprint
Exploit
POC
Public exploit code exists
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

48
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +28
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy