GHSA-ch3g-4xvr-674q: SSRF
Impact
OpenCVE contains a Server-Side Request Forgery (SSRF) vulnerability in the notification testing functionality for both Webhook and Slack integrations.
An authenticated user with permission to configure notification channels can trigger test requests to arbitrary HTTP(S) endpoints. Insufficient validation of target destinations allows requests to be sent to hosts reachable from the OpenCVE server, including internal network resources, localhost interfaces, and cloud metadata services.
Successful exploitation could allow an attacker to interact with internal services that are not otherwise accessible from the Internet and retrieve information from HTTP-based services reachable by the OpenCVE instance.
Patches
The vulnerability has been fixed in OpenCVE version 3.0.0, users should upgrade to version 3.0.0 or later.
The fix introduces additional validation of user-supplied URLs used by the notification testing functionality and prevents requests to localhost, private network ranges, link-local addresses, cloud metadata services, and other non-public destinations.
Workarounds
Users unable to upgrade should restrict outbound network access from OpenCVE to trusted external destinations using firewall rules, network policies, or egress filtering.
Where possible, access to localhost interfaces, private network ranges, and cloud metadata services should be blocked from the OpenCVE application environment.
Disabling access to the notification testing functionality also mitigates the issue.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
pip/opencveto a version that resolves this vulnerability.Fixed in 3.0.0 - Upgrade
Upgrade
OpenCVEto a version that resolves this vulnerability.Fixed in 3.0.0 - Configuration
Disable access to the notification testing functionality.
OpenCVE notification testing functionality notification testing access = disabled - Compensating control
Restrict outbound network access from OpenCVE to trusted external destinations using firewall rules, network policies, or egress filtering; block access from the OpenCVE application environment to localhost interfaces, private network ranges, link-local addresses, and cloud metadata services.
Event History
Frequently Asked Questions
Who can exploit this issue?
An authenticated OpenCVE user who has permission to configure notification channels can exploit the issue through the Webhook or Slack notification test functionality.
What systems or data could be reachable through exploitation?
The attacker can cause the OpenCVE server to send HTTP(S) requests to destinations it can reach, including internal network resources, localhost interfaces, and cloud metadata services. This may expose information from HTTP-based services that are not otherwise Internet-accessible.
Are default protections sufficient?
The vulnerable notification testing functionality did not sufficiently validate configured target URLs. Version 3.0.0 and later add validation intended to block localhost, private and link-local ranges, cloud metadata services, and other non-public destinations.
What can be done if upgrading is not immediately possible?
Restrict outbound network access from the OpenCVE server to trusted external destinations. This limits the server's ability to reach internal services or metadata endpoints when a notification test is triggered.