CVE-2021-32803

Arbitrary File Creation/Overwrite via insufficient symlink protection due to directory cache poisoning

Description

The npm package "tar" (aka node-tar) before versions 6.1.2, 5.0.7, 4.4.15, and 3.2.3 has an arbitrary File Creation/Overwrite vulnerability via insufficient symlink protection. `node-tar` aims to guarantee that any file whose location would be modified by a symbolic link is not extracted. This is, in part, achieved by ensuring that extracted directories are not symlinks. Additionally, in order to prevent unnecessary `stat` calls to determine whether a given path is a directory, paths are cached when directories are created. This logic was insufficient when extracting tar files that contained both a directory and a symlink with the same name as the directory. This order of operations resulted in the directory being created and added to the `node-tar` directory cache. When a directory is present in the directory cache, subsequent calls to mkdir for that directory are skipped. However, this is also where `node-tar` checks for symlinks occur. By first creating a directory, and then replacing that directory with a symlink, it was thus possible to bypass `node-tar` symlink checks on directories, essentially allowing an untrusted tar file to symlink into an arbitrary location and subsequently extracting arbitrary files into that location, thus allowing arbitrary file creation and overwrite. This issue was addressed in releases 3.2.3, 4.4.15, 5.0.7 and 6.1.2.

Categories

8.2
CVSS
Severity: High
CVSS 3.1 •
CVSS 2.0 •
EPSS 0.21%
Third-Party Advisory siemens.com Third-Party Advisory github.com Third-Party Advisory github.com Third-Party Advisory npmjs.com Third-Party Advisory npmjs.com Third-Party Advisory oracle.com
Affected: npm node-tar
Published at:
Updated at:

References

Frequently Asked Questions

What is the severity of CVE-2021-32803?
CVE-2021-32803 has been scored as a high severity vulnerability.
How to fix CVE-2021-32803?
To fix CVE-2021-32803, make sure you are using an up-to-date version of the affected component(s) by checking the vendor release notes. As for now, there are no other specific guidelines available.
Is CVE-2021-32803 being actively exploited in the wild?
As for now, there are no information to confirm that CVE-2021-32803 is being actively exploited. According to its EPSS score, there is a ~0% probability that this vulnerability will be exploited by malicious actors in the next 30 days.
What software or system is affected by CVE-2021-32803?
CVE-2021-32803 affects npm node-tar.
This platform uses data from the NIST NVD, MITRE CVE, MITRE CWE, First.org and CISA KEV but is not endorsed or certified by these entities. CVE is a registred trademark of the MITRE Corporation and the authoritative source of CVE content is MITRE's CVE web site. CWE is a registred trademark of the MITRE Corporation and the authoritative source of CWE content is MITRE's CWE web site.
© 2025 Under My Watch. All Rights Reserved.