CVE-2020-36599 OmniAuth's `lib/omniauth/failure_endpoint.rb` does not escape `message_key` value
Attackers can inject malicious scripts via unescaped message keys in OmniAuth failure endpoints, potentially leading to code execution.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2020-36599?
CVE-2020-36599 is a critical cross-site scripting vulnerability in n/a, published on 18 Aug 2022. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
lib/omniauth/failure_endpoint.rb in OmniAuth before 1.9.2 (and before 2.0) does not escape the message_key value.
Weakness: CWE-116
Which versions are affected by CVE-2020-36599?
4 open source packages ship an affected version, including omniauth. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
omniauth RubyGems | All versions | 1.9.2 |
omniauth RubyGems | All versions | 1.9.2 |
omniauth RubyGems | From 2.0.0.pre.rc1 | 2.0.0 |
omniauth RubyGems | From 2.0.0.pre.rc1 | 2.0.0 |
Products include Omniauth Omniauth.
How do I fix CVE-2020-36599?
Upgrade omniauth to a fixed version for your release line: 1.9.2 or 2.0.0.
Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.
Is CVE-2020-36599 being exploited?
There is no known exploitation of CVE-2020-36599 in the wild and no public exploit code.
Other vulnerabilities in n/a
Sources
Also known as DEBIAN-CVE-2020-36599, GHSA-pm55-qfxr-h247, UBUNTU-CVE-2020-36599.