CVE-2026-125114

Novu: SSRF via conditions filter webhook bypasses validateUrlSsrf() protection

Published Nov 9, 2026 CVSS 4.0 · 8.3 High EPSS < 1% KEV · Not listed
Description
Novu provides an API for sending notifications through multiple channels. Prior to 3.15.0, the conditions filter webhook in libs/application-generic/src/usecases/conditions-filter/conditions-filter.usecase.ts passes the user-configured child.webhookUrl directly to axios.post without calling validateUrlSsrf. Evaluating a workflow condition can therefore make the worker send a POST request to a private or link-local service and return the response data for condition evaluation. The response is stored in execution details and exposed through GET /execution-details, which can disclose credentials from POST-capable metadata services or data from internal services, although metadata endpoints that require GET are not reachable through this path. This issue is fixed in version 3.15.0.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-4x48-cgf9-q33f Novu has SSRF via conditions filter webhook bypasses validateUrlSsrf() protection
History
Type Values Removed Values Added
First Time appeared Novu
Novu novu
Vendors & Products Novu
Novu novu
Type Values Removed Values Added
Description Novu provides an API for sending notifications through multiple channels. Prior to 3.15.0, the conditions filter webhook in libs/application-generic/src/usecases/conditions-filter/conditions-filter.usecase.ts passes the user-configured child.webhookUrl directly to axios.post without calling validateUrlSsrf. Evaluating a workflow condition can therefore make the worker send a POST request to a private or link-local service and return the response data for condition evaluation. The response is stored in execution details and exposed through GET /execution-details, which can disclose credentials from POST-capable metadata services or data from internal services, although metadata endpoints that require GET are not reachable through this path. This issue is fixed in version 3.15.0.
Title Novu: SSRF via conditions filter webhook bypasses validateUrlSsrf() protection
Weaknesses CWE-918
References
Metrics cvssV4_0

{'score': 8.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Nov 9, 2026, 10:14 PM
Reserved
Nov 9, 2026, 5:45 PM
Status
Deferred
Published
Nov 9, 2026, 11:17 PM
Modified
Nov 9, 2026, 11:17 PM