# CVE-2026-63183: OmniAuth host header injection in callback URL

Source: https://junglewise.ai/threats/cve-2026-63183-omniauth-is-a-flexible-authentication-system-utilizing-rack  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-04. Updated: 2026-11-04  
License: CC BY 4.0 with a link back

CVE-2026-63183 · Severity: medium · CVSS 4 · Published 2026-11-04

OmniAuth is a Ruby authentication library that handles login flows for web applications. When not properly configured, attackers can forge HTTP Host headers to redirect users to malicious authentication providers, potentially capturing login credentials or session tokens. Applications using Rails host validation or a fixed full_host configuration are not affected.

Technologies: [omniauth (RubyGems)](https://junglewise.ai/threats/technologies/omniauth). Vendors: [RubyGems](https://junglewise.ai/threats/vendors/rubygems).

## Quick answers

**Is CVE-2026-63183 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-63183 being exploited in the wild.

**How severe is CVE-2026-63183?** Medium severity, with a CVSS score of 4, published 4 November 2026.

**Which products and versions are affected?** OmniAuth prior to 2.2.0; omniauth (RubyGems) < 2.2.0, ECOSYSTEM:introduced=0,fixed=2.2.0.

**Is there a fix for CVE-2026-63183?** Yes. omniauth (RubyGems): upgrade to 2.2.0 or later. Until then: Set the full_host configuration option in your OmniAuth config to a fixed value, or configure allowed_hosts to whitelist acceptable callback hosts. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-63183 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-63183?** Check whether you run OmniAuth or omniauth (RubyGems) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- omniauth (RubyGems): upgrade to 2.2.0 or later

  ```sh
  bundle update omniauth
  ```


Set the full_host configuration option in your OmniAuth config to a fixed value, or configure allowed_hosts to whitelist acceptable callback hosts.

## Technical details

OmniAuth derives provider callback URLs from untrusted request headers (Host, X-Forwarded-Host, Forwarded) when neither a fixed full_host nor framework-level host validation is configured, enabling host header injection. An unauthenticated remote attacker can supply a forged Host header to redirect the OAuth callback to an attacker-controlled domain. The fix introduces OmniAuth.config.allowed_hosts to whitelist acceptable hosts and fail requests to unallowed hosts.

## Affected products

- OmniAuth OmniAuth prior to 2.2.0

## Identifiers

- CVE-2026-63183
- GHSA-m27g-v28p-f9fx

## Timeline

- 2026-10-22: disclosed
- 2026-11-04: patched
- 2026-11-04: advisory

## References

- [https://github.com/omniauth/omniauth/commit/943b44faea242f063fa9230254fe7d60cfcc9c90](https://github.com/omniauth/omniauth/commit/943b44faea242f063fa9230254fe7d60cfcc9c90)
- [https://github.com/omniauth/omniauth/security/advisories/GHSA-m27g-v28p-f9fx](https://github.com/omniauth/omniauth/security/advisories/GHSA-m27g-v28p-f9fx)

## Related threats

- [OmniAuth's `lib/omniauth/failure_endpoint.rb` does not escape `message_key` value](https://junglewise.ai/threats/cve-2020-36599-omniauth-s-lib-omniauth-failure-endpoint-rb-does-not-escape)
- [OmniAuth Ruby gem Cross-site Request Forgery in request phase](https://junglewise.ai/threats/cve-2015-9284-omniauth-ruby-gem-cross-site-request-forgery-in-request-phase)
- [Omniauth allows POST parameters to be stored in session](https://junglewise.ai/threats/cve-2017-18076-omniauth-allows-post-parameters-to-be-stored-in-session)
