Skip to main content

PostgreSQL CVE-2026-40346

MEDIUM
Server-Side Request Forgery (SSRF) (CWE-918)
2026-04-15 https://github.com/nocobase/nocobase GHSA-mvvv-v22x-xqwp
6.4
CVSS 4.0 · GitHub Advisory
Share

Severity by source

GitHub Advisory PRIMARY
6.4 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

Primary rating from GitHub Advisory · only source for this CVE.

CVSS VectorGitHub Advisory

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
X

Lifecycle Timeline

5
Source Code Evidence Fetched
Jul 26, 2026 - 15:07 vuln.today
Analysis Generated
Jul 26, 2026 - 15:07 vuln.today
CVSS changed
Apr 18, 2026 - 00:22 NVD
6.4 (MEDIUM)
Patch released
Apr 15, 2026 - 20:30 nvd
Patch available
CVE Published
Apr 15, 2026 - 19:43 nvd
MEDIUM 6.4

DescriptionGitHub Advisory

Summary

NocoBase's workflow HTTP request plugin and custom request action plugin make server-side HTTP requests to user-provided URLs without any SSRF protection. An authenticated user can access internal network services, cloud metadata endpoints, and localhost.

Vulnerable Code

1. Workflow HTTP Request Plugin

packages/plugins/@nocobase/plugin-workflow-request/src/server/RequestInstruction.ts lines 117-128:

typescript
return axios.request({
  url: trim(url),  // User-controlled, no validation
  method,
  headers,
  params,
  timeout,
  ...(method.toLowerCase() !== 'get' && data != null
    ? { data: transformer ? await transformer(data) : data }
    : {}),
});

The url at line 98 comes directly from user workflow configuration with only whitespace trimming.

2. Custom Request Action Plugin

packages/plugins/@nocobase/plugin-action-custom-request/src/server/actions/send.ts lines 172-198:

typescript
const axiosRequestConfig = {
  baseURL: ctx.origin,
  ...options,
  url: getParsedValue(url, variables),  // User-controlled via template
  headers: { ... },
  params: getParsedValue(arrayToObject(params), variables),
  data: getParsedValue(toJSON(data), variables),
};
const res = await axios(axiosRequestConfig);  // No IP validation

Missing Protections

  • No request-filtering-agent or SSRF library (confirmed via grep across entire codebase)
  • No private IP range filtering
  • No cloud metadata endpoint blocking
  • No URL scheme validation
  • No DNS rebinding protection

Attack Scenario

  1. Authenticated user creates a workflow with HTTP Request node
  2. Sets URL to http://169.254.169.254/latest/meta-data/iam/security-credentials/
  3. Triggers the workflow
  4. Server fetches AWS metadata and returns IAM credentials in workflow execution logs

Alternatively via Custom Request action:

  1. Create custom request with URL http://127.0.0.1:5432 or http://10.0.0.1:8080/admin
  2. Execute the action
  3. Server makes request to internal service

Impact

  • Cloud metadata theft: AWS/GCP/Azure credentials via metadata endpoints
  • Internal network access: Scan and interact with services on private IP ranges
  • Database access: Connect to localhost databases (PostgreSQL, Redis, etc.)
  • Authentication required: Yes (authenticated user), but any workspace member can create workflows

AnalysisAI

Server-side request forgery (SSRF) in NocoBase's workflow HTTP request and custom request action plugins allows authenticated workspace members to access internal network services, cloud metadata endpoints, and localhost. The vulnerability has a public proof-of-concept and a low EPSS exploitation probability, with no confirmed active exploitation. A vendor-released patch is available in version 2.0.37.

CVE-2025-1094 HIGH POC
8.1 Feb 13

PostgreSQL libpq functions PQescapeLiteral(), PQescapeIdentifier(), PQescapeString(), and PQescapeStringConn() improperl

CVE-2024-55964 CRITICAL POC
9.8 Mar 26

An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl

CVE-2013-1899 MEDIUM POC
6.5 Apr 04

Argument injection vulnerability in PostgreSQL 9.2.x before 9.2.4, 9.1.x before 9.1.9, and 9.0.x before 9.0.13 allows re

CVE-2026-20253 CRITICAL POC
9.8 Jun 10

Unauthenticated arbitrary file write in Splunk Enterprise (below 10.2.4 and 10.0.7) and Splunk Cloud Platform (below 10.

CVE-2017-7546 CRITICAL
9.8 Aug 16

PostgreSQL versions before 9.2.22, 9.3.18, 9.4.13, 9.5.8 and 9.6.4 are vulnerable to incorrect authentication flaw allow

CVE-2015-1352 MEDIUM POC
5.0 Mar 30

The build_tablename function in pgsql.c in the PostgreSQL (aka pgsql) extension in PHP through 5.6.7 does not validate t

CVE-2024-10553 CRITICAL POC
9.8 Mar 20

A vulnerability in the h2oai/h2o-3 REST API versions 3.46.0.4 allows unauthenticated remote attackers to execute arbitra

CVE-2019-9193 HIGH POC
7.2 Apr 01

In PostgreSQL 9.3 through 11.2, the "COPY TO/FROM PROGRAM" function allows superusers and users in the 'pg_execute_serve

CVE-2026-40887 CRITICAL POC
9.1 Apr 14

Unauthenticated SQL injection in Vendure Shop API allows remote attackers to execute arbitrary SQL commands against the

CVE-2022-24760 CRITICAL POC
10.0 Mar 12

Parse Server is an open source http web server backend. Rated critical severity (CVSS 10.0), this vulnerability is remot

CVE-2025-56157 CRITICAL POC
9.8 Dec 18

Hard-coded default PostgreSQL credentials shipped in the docker-compose.yaml of langgenius Dify through version 1.5.1 al

CVE-2024-12909 CRITICAL POC
9.8 Mar 20

A vulnerability in the FinanceChatLlamaPack of the run-llama/llama_index repository, versions up to v0.12.3, allows for

Share

CVE-2026-40346 vulnerability details – vuln.today

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