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-06-16
AI Q&A
2026-02-09
EPSS Evaluated
2026-06-15
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 Quick Actions
Instant insights powered by AI
Executive Summary

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.

Impact Analysis

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.

Compliance Impact

I don't know

Detection Guidance

I don't know

Mitigation Strategies

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.

Chat Assistant
Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-25765. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70
EPSS Chart