CVE-2026-25765
Undergoing Analysis Undergoing Analysis - In Progress
Server-Side Request Forgery in Faraday HTTP Client Before

Publication date: 2026-02-09

Last updated on: 2026-02-20

Assigner: GitHub, Inc.

Description
Faraday is an HTTP client library abstraction layer that provides a common interface over many adapters. Prior to 2.14.1, Faraday's build_exclusive_url method (in lib/faraday/connection.rb) uses Ruby's URI#merge to combine the connection's base URL with a user-supplied path. Per RFC 3986, protocol-relative URLs (e.g. //evil.com/path) are treated as network-path references that override the base URL's host/authority component. This means that if any application passes user-controlled input to Faraday's get(), post(), build_url(), or other request methods, an attacker can supply a protocol-relative URL like //attacker.com/endpoint to redirect the request to an arbitrary host, enabling Server-Side Request Forgery (SSRF). This vulnerability is fixed in 2.14.1.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-02-09
Last Modified
2026-02-20
Generated
2026-05-07
AI Q&A
2026-02-09
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 2 associated CPEs
Vendor Product Version / Range
faraday_project faraday From 1.0.0 (inc) to 1.10.5 (exc)
faraday_project faraday From 2.0.0 (inc) to 2.14.1 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-918 The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability exists in the Faraday HTTP client library prior to version 2.14.1. The issue is in the build_exclusive_url method, which uses Ruby's URI#merge to combine a base URL with a user-supplied path. According to RFC 3986, protocol-relative URLs (such as //evil.com/path) override the base URL's host component. If an application passes user-controlled input to Faraday's request methods like get(), post(), or build_url(), an attacker can supply a protocol-relative URL that redirects the request to an arbitrary host. This enables Server-Side Request Forgery (SSRF), where the server makes unintended requests to attacker-controlled destinations.


How can this vulnerability impact me? :

This vulnerability can allow an attacker to redirect server requests to arbitrary hosts by supplying malicious URLs. This can lead to Server-Side Request Forgery (SSRF), potentially exposing internal systems or sensitive data, bypassing firewalls, or interacting with internal services that are not intended to be accessible externally.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

I don't know


What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability, upgrade Faraday to version 2.14.1 or later, where the issue has been fixed.

Additionally, avoid passing user-controlled input directly to Faraday's get(), post(), build_url(), or other request methods without proper validation or sanitization to prevent Server-Side Request Forgery (SSRF) attacks.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart