CVE-2019-8320 RubyGems Delete directory using symlink when decompressing tar

High 7.4 Published Updated

A malicious gem can delete arbitrary files on the user's machine via directory traversal, potentially causing data loss or system instability.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2019-8320?

CVE-2019-8320 is a high-severity path traversal vulnerability in n/a, published on 6 Jun 2019. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

A Directory Traversal issue was discovered in RubyGems 2.7.6 and later through 3.0.2. Before making new directories or touching files (which now include path-checking code for symlinks), it would delete the target destination. If that destination was hidden behind a symlink, a malicious gem could delete arbitrary files on the user's machine, presuming the attacker could guess at paths. Given how frequently gem is run as sudo, and how predictable paths are on modern systems (/tmp, /usr, etc.), this could likely lead to data loss or an unusable system.

Weakness: CWE-22

Which versions are affected by CVE-2019-8320?

4 open source packages ship an affected version, including rubygems-update. It affects 1 product.

PackageAffectedFixed in
rubygems-update RubyGemsFrom 2.7.62.7.9
rubygems-update RubyGemsFrom 2.7.62.7.9
rubygems-update RubyGemsFrom 3.0.03.0.3
rubygems-update RubyGemsFrom 3.0.03.0.3

Products include Rubygems Rubygems.

How do I fix CVE-2019-8320?

Upgrade rubygems-update to a fixed version for your release line: 2.7.9 or 3.0.3.

Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.

Is CVE-2019-8320 being exploited?

There is no known exploitation of CVE-2019-8320 in the wild and no public exploit code.

Sources

Also known as ALPINE-CVE-2019-8320, DEBIAN-CVE-2019-8320, GHSA-5x32-c9mf-49cc, UBUNTU-CVE-2019-8320.

Is CVE-2019-8320 in your software?

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

Check your SBOMs for free