Lookup for vulnerable packages by Package URL.

Purlpkg:npm/%40nocobase/plugin-workflow-request@2.0.13
Typenpm
Namespace@nocobase
Nameplugin-workflow-request
Version2.0.13
Qualifiers
Subpath
Is_vulnerabletrue
Next_non_vulnerable_version2.0.37
Latest_non_vulnerable_version2.0.37
Affected_by_vulnerabilities
0
url VCID-q25w-8a2z-63cc
vulnerability_id VCID-q25w-8a2z-63cc
summary
NocoBase has SSRF in Workflow HTTP Request and Custom Request Plugins
## 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
references
0
reference_url https://api.first.org/data/v1/epss?cve=CVE-2026-40346
reference_id
reference_type
scores
0
value 0.00015
scoring_system epss
scoring_elements 0.03121
published_at 2026-06-05T12:55:00Z
1
value 0.00015
scoring_system epss
scoring_elements 0.03024
published_at 2026-06-09T12:55:00Z
2
value 0.00015
scoring_system epss
scoring_elements 0.03059
published_at 2026-06-08T12:55:00Z
3
value 0.00015
scoring_system epss
scoring_elements 0.03079
published_at 2026-06-07T12:55:00Z
4
value 0.00015
scoring_system epss
scoring_elements 0.03131
published_at 2026-06-06T12:55:00Z
url https://api.first.org/data/v1/epss?cve=CVE-2026-40346
1
reference_url https://github.com/nocobase/nocobase
reference_id
reference_type
scores
0
value 6.5
scoring_system cvssv3.1
scoring_elements CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
1
value 6.4
scoring_system cvssv4
scoring_elements 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
2
value MODERATE
scoring_system generic_textual
scoring_elements
url https://github.com/nocobase/nocobase
2
reference_url https://github.com/nocobase/nocobase/commit/2853368243ed07339c62c548b7d475f4eeaada59
reference_id
reference_type
scores
0
value 6.5
scoring_system cvssv3.1
scoring_elements CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
1
value 6.4
scoring_system cvssv4
scoring_elements 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
2
value MODERATE
scoring_system generic_textual
scoring_elements
3
value Track
scoring_system ssvc
scoring_elements SSVCv2/E:P/A:N/T:P/P:M/B:A/M:M/D:T/2026-04-20T14:42:37Z/
url https://github.com/nocobase/nocobase/commit/2853368243ed07339c62c548b7d475f4eeaada59
3
reference_url https://github.com/nocobase/nocobase/pull/9079
reference_id
reference_type
scores
0
value 6.5
scoring_system cvssv3.1
scoring_elements CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
1
value 6.4
scoring_system cvssv4
scoring_elements 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
2
value MODERATE
scoring_system generic_textual
scoring_elements
3
value Track
scoring_system ssvc
scoring_elements SSVCv2/E:P/A:N/T:P/P:M/B:A/M:M/D:T/2026-04-20T14:42:37Z/
url https://github.com/nocobase/nocobase/pull/9079
4
reference_url https://github.com/nocobase/nocobase/releases/tag/v2.0.37
reference_id
reference_type
scores
0
value 6.5
scoring_system cvssv3.1
scoring_elements CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
1
value 6.4
scoring_system cvssv4
scoring_elements 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
2
value MODERATE
scoring_system generic_textual
scoring_elements
3
value Track
scoring_system ssvc
scoring_elements SSVCv2/E:P/A:N/T:P/P:M/B:A/M:M/D:T/2026-04-20T14:42:37Z/
url https://github.com/nocobase/nocobase/releases/tag/v2.0.37
5
reference_url https://github.com/nocobase/nocobase/security/advisories/GHSA-mvvv-v22x-xqwp
reference_id
reference_type
scores
0
value 6.5
scoring_system cvssv3.1
scoring_elements CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
1
value MODERATE
scoring_system cvssv3.1_qr
scoring_elements
2
value 6.4
scoring_system cvssv4
scoring_elements 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
3
value MODERATE
scoring_system generic_textual
scoring_elements
4
value Track
scoring_system ssvc
scoring_elements SSVCv2/E:P/A:N/T:P/P:M/B:A/M:M/D:T/2026-04-20T14:42:37Z/
url https://github.com/nocobase/nocobase/security/advisories/GHSA-mvvv-v22x-xqwp
6
reference_url https://nvd.nist.gov/vuln/detail/CVE-2026-40346
reference_id
reference_type
scores
0
value 6.5
scoring_system cvssv3.1
scoring_elements CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
1
value 6.4
scoring_system cvssv4
scoring_elements 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
2
value MODERATE
scoring_system generic_textual
scoring_elements
url https://nvd.nist.gov/vuln/detail/CVE-2026-40346
7
reference_url https://github.com/advisories/GHSA-mvvv-v22x-xqwp
reference_id GHSA-mvvv-v22x-xqwp
reference_type
scores
0
value MODERATE
scoring_system cvssv3.1_qr
scoring_elements
url https://github.com/advisories/GHSA-mvvv-v22x-xqwp
fixed_packages
0
url pkg:npm/%40nocobase/plugin-workflow-request@2.0.37
purl pkg:npm/%40nocobase/plugin-workflow-request@2.0.37
is_vulnerable false
affected_by_vulnerabilities
resource_url http://public2.vulnerablecode.io/packages/pkg:npm/%2540nocobase/plugin-workflow-request@2.0.37
aliases CVE-2026-40346, GHSA-mvvv-v22x-xqwp
risk_score 3.1
exploitability 0.5
weighted_severity 6.2
resource_url http://public2.vulnerablecode.io/vulnerabilities/VCID-q25w-8a2z-63cc
Fixing_vulnerabilities
Risk_score3.1
Resource_urlhttp://public2.vulnerablecode.io/packages/pkg:npm/%2540nocobase/plugin-workflow-request@2.0.13