GHSA-22h5-pq3x-2gf2
URI allows for userinfo Leakage in URI#join, URI#merge, and URI#+
Packages
Details
As written in the advisory (Markdown source, shown as plain text).
There is a possibility for userinfo leakage by in the uri gem.
This vulnerability has been assigned the CVE identifier CVE-2025-27221. We recommend upgrading the uri gem.
## Details
The methods `URI#join`, `URI#merge`, and `URI#+` retained userinfo, such as `user:password`, even after the host is replaced. When generating a URL to a malicious host from a URL containing secret userinfo using these methods, and having someone access that URL, an unintended userinfo leak could occur.
Please update URI gem to version 0.11.3, 0.12.4, 0.13.2, 1.0.3 or later.
## Affected versions
uri gem versions < 0.11.3, 0.12.0 to 0.12.3, 0.13.0, 0.13.1 and 1.0.0 to 1.0.2.
## Credits
Thanks to Tsubasa Irisawa (lambdasawa) for discovering this issue.
Also thanks to nobu for additional fixes of this vulnerability.
References
External links from the advisory. They lead to third-party sites.
- https://nvd.nist.gov/vuln/detail/CVE-2025-27221
- https://github.com/ruby/uri/pull/154
- https://github.com/ruby/uri/pull/155
- https://github.com/ruby/uri/pull/156
- https://github.com/ruby/uri/pull/157
- https://hackerone.com/reports/2957667
- https://github.com/ruby/uri
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/uri/CVE-2025-27221.yml
- https://lists.debian.org/debian-lts-announce/2025/03/msg00008.html
- https://lists.debian.org/debian-lts-announce/2025/05/msg00015.html
- https://www.cve.org/CVERecord?id=CVE-2025-27221
- https://www.ruby-lang.org/en/news/2025/02/26/security-advisories