Every CVESearch/Get API key

GHSA-23hp-j76v-pcwj

SSRF and local file disclosure via unvalidated URLs

7.5 HighFix available

Applications that pass attacker-controlled URLs to webpage versions before 2.1.0 may be vulnerable to server-side request forgery (SSRF) or local file disclosure.

HTTP::fetch and Webpage::from_url passed URLs to libcurl without restricting the URL scheme or validating the resolved destination IP address. Redirects were followed without checking whether the new destination was internal. Depending on how the application uses the response, an attacker could:

  • Read local files accessible to the application process using file:// URLs.
  • Cause requests to internal or link-local services (e.g. cloud metadata endpoints at http://169.254.169.254) via direct private-IP URLs or by chaining HTTP redirects through an attacker-controlled server.

Starting in 2.1.0, HTTP::fetch and Webpage::from_url reject non-HTTP(S) URL schemes and destinations that resolve to non-public IP addresses, including after redirects. Applications that intentionally fetch trusted internal resources can opt in to the previous behavior with HTTP::fetch_unrestricted or Webpage::from_url_unrestricted.

Reported by Aiden Mohan.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
None

What each source reports

OSV Score usedRUSTSEC-2026-04077.5

SSRF and local file disclosure via unvalidated URLs

Applications that pass attacker-controlled URLs to webpage versions before 2.1.0 may be vulnerable to server-side request forgery (SSRF) or local file disclosure.

HTTP::fetch and Webpage::from_url passed URLs to libcurl without restricting the URL scheme or validating the resolved destination IP address. Redirects were followed without checking whether the new destination was internal. Depending on how the application uses the response, an attacker could:

  • Read local files accessible to the application process using file:// URLs.
  • Cause requests to internal or link-local services (e.g. cloud metadata endpoints at http://169.254.169.254) via direct private-IP URLs or by chaining HTTP redirects through an attacker-controlled server.

Starting in 2.1.0, HTTP::fetch and Webpage::from_url reject non-HTTP(S) URL schemes and destinations that resolve to non-public IP addresses, including after redirects. Applications that intentionally fetch trusted internal resources can opt in to the previous behavior with HTTP::fetch_unrestricted or Webpage::from_url_unrestricted.

Reported by Aiden Mohan.

Record
RUSTSEC-2026-0407
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02

Affected packages

Affected packages
PackageAffectedFixed
webpage
crates.io
0.0.0-0 up to 2.1.0
2.1.0

History

History
RecordedChangedSources
first indexedOSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

GHSA-23hp-j76v-pcwj is a high vulnerability (CVSS 7.5) in webpage, published October 22, 2026. No source lists public exploit code. Fixed in webpage 2.1.0.

References

MoveEnter Open