GHSA-5JCH-XHW4-R43V
Vulnerability from github – Published: 2025-08-29 20:07 – Updated: 2025-09-01 20:06Summary
It is possible to redirect a user to another origin if the "proceed_to" value in the session store is set to a protocol-relative URL.
Details
The google_sign_in gem persists an optional URL for redirection after authentication. If this URL is set to a protocol-relative URL, it improperly passes the "same origin" check, and it's possible for the user to be redirected to another origin after authentication, possibly resulting in exposure of authentication information if this attack is chained with other attacks.
Normally the value of this URL is only written and read by the library or the calling application. However, it may be possible to set this session value from a malicious site with a form submission.
Impact
Any Rails applications using the google_sign_in gem may be vulnerable, if this vector can be chained with another attack that is able to modify the OAuth2 request parameters.
Workarounds
No known workarounds.
Credits
This issue was responsibly reported by Hackerone user muntrive.
{
"affected": [
{
"package": {
"ecosystem": "RubyGems",
"name": "google_sign_in"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.3.1"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2025-58067"
],
"database_specific": {
"cwe_ids": [
"CWE-601"
],
"github_reviewed": true,
"github_reviewed_at": "2025-08-29T20:07:47Z",
"nvd_published_at": "2025-08-29T21:15:36Z",
"severity": "MODERATE"
},
"details": "## Summary\n\nIt is possible to redirect a user to another origin if the \"proceed_to\" value in the session store is set to a protocol-relative URL.\n\n## Details\n\nThe google_sign_in gem persists an optional URL for redirection after authentication. If this URL is set to a protocol-relative URL, it improperly passes the \"same origin\" check, and it\u0027s possible for the user to be redirected to another origin after authentication, possibly resulting in exposure of authentication information if this attack is chained with other attacks.\n\nNormally the value of this URL is only written and read by the library or the calling application. However, it may be possible to set this session value from a malicious site with a form submission.\n\n## Impact\n\nAny Rails applications using the google_sign_in gem may be vulnerable, if this vector can be chained with another attack that is able to modify the OAuth2 request parameters.\n\n## Workarounds\n\nNo known workarounds.\n\n## Credits\n\nThis issue was responsibly reported by Hackerone user [muntrive](https://hackerone.com/muntrive?type=user).",
"id": "GHSA-5jch-xhw4-r43v",
"modified": "2025-09-01T20:06:09Z",
"published": "2025-08-29T20:07:47Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/basecamp/google_sign_in/security/advisories/GHSA-5jch-xhw4-r43v"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-58067"
},
{
"type": "WEB",
"url": "https://github.com/basecamp/google_sign_in/pull/75"
},
{
"type": "WEB",
"url": "https://github.com/basecamp/google_sign_in/commit/e97aef4626b1bcbd2c6f01f7dd25f12ac855d4cc"
},
{
"type": "PACKAGE",
"url": "https://github.com/basecamp/google_sign_in"
},
{
"type": "WEB",
"url": "https://github.com/basecamp/google_sign_in/releases/tag/v1.3.1"
},
{
"type": "WEB",
"url": "https://github.com/rubysec/ruby-advisory-db/blob/master/gems/google_sign_in/CVE-2025-58067.yml"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N",
"type": "CVSS_V3"
}
],
"summary": "Google Sign-In for Rails allowed redirect to protocol-relative URI"
}
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.