The request phase of the OmniAuth Ruby gem (1.9.1 and earlier) is vulnerable to Cross-Site Request Forgery when used as part of the Ruby on Rails framework, allowing accounts to be connected without user intent, user interaction, or feedback to the user. This permits a secondary account to be able to sign into the web application as the primary account.
As of v2 OmniAuth no longer has the vulnerable configuration by default, but it is still possible to configure OmniAuth in such a way that the web application becomes vulnerable to Cross-Site Request Forgery. There is a recommended remediation described here.
References
- https://nvd.nist.gov/vuln/detail/CVE-2015-9284
- https://github.com/omniauth/omniauth-rails/pull/1
- https://github.com/omniauth/omniauth/pull/809
- https://www.openwall.com/lists/oss-security/2015/05/26/11
- https://github.com/omniauth/omniauth/wiki/Resolving-CVE-2015-9284
- https://github.com/rubysec/ruby-advisory-db/commit/aef9f623c0be838234d53baf18977564804da397
- https://github.com/omniauth/omniauth/releases/tag/v2.0.0
- https://github.com/advisories/GHSA-ww4x-rwq6-qpgf