CVE-2020-36599 OmniAuth's `lib/omniauth/failure_endpoint.rb` does not escape `message_key` value

Critical 9.8 Published Updated

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.

PackageAffectedFixed in
omniauth RubyGemsAll versions1.9.2
omniauth RubyGemsAll versions1.9.2
omniauth RubyGemsFrom 2.0.0.pre.rc12.0.0
omniauth RubyGemsFrom 2.0.0.pre.rc12.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.

Sources

Also known as DEBIAN-CVE-2020-36599, GHSA-pm55-qfxr-h247, UBUNTU-CVE-2020-36599.

Is CVE-2020-36599 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free