Executive brief
NocoDB is a popular open-source database tool with a web-based interface that allows users to create automation webhooks for notifications to Slack, Discord, Mattermost, and Teams. A flaw in the webhook implementation allows authenticated users with editor privileges to bypass security controls and send requests to internal servers—including cloud infrastructure metadata endpoints—potentially exposing sensitive configuration and credentials. This could allow an attacker to discover and interact with internal systems that should not be directly accessible.
Technical details
The vulnerability is a Server-Side Request Forgery (SSRF) weakness in NocoDB's notification webhook plugins for Slack, Discord, Mattermost, and Teams. The root cause is a misplacement of axios HTTP(S) agent configuration: the httpAgent and httpsAgent objects are passed in the request data body (second argument to axios.post) instead of the config object (third argument), causing them to be JSON-serialized as body content rather than used for connection filtering. An authenticated user with Editor+ role and webhook-creation permission can create a webhook with a notification.payload.channels[].webhook_url pointing to an internal host (e.g., 169.254.169.254 for cloud metadata, or private services). When the webhook triggers, WebhookInvoker.invoke() calls the plugin's sendMessage() which executes the axios.post without SSRF filtering, allowing the attacker to reach internal targets. Response bodies can be exfiltrated if verbose logging (NC_AUTOMATION_LOG_LEVEL=ALL) is enabled. The vulnerability was patched in version 2026.04.1.
Affected products
- NocoDB nocodb < 2026.04.1
Timeline
- 2026-05-21: disclosed: Security advisory published
- 2026-04-01: patched: Fix released in version 2026.04.1