CVE-2018-3718 vercel/serve allows access to restricted files if filename is URL encoded.

Medium 5.3 Published Updated

Attackers can bypass file access restrictions to read ignored files by using URL-encoded filenames in the serve Node.js module.

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

What is CVE-2018-3718?

CVE-2018-3718 is a medium-severity path traversal vulnerability in HackerOne serve node module, published on 7 Jun 2018. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

serve node module suffers from Improper Handling of URL Encoding by permitting access to ignored files if a filename is URL encoded.

Weakness: CWE-177

Which versions are affected by CVE-2018-3718?

2 open source packages ship an affected version, including serve. It affects 1 product.

PackageAffectedFixed in
serve npmAll versions6.5.2
serve npmAll versions6.5.2

Products include Zeit Serve.

How do I fix CVE-2018-3718?

Upgrade serve to 6.5.2 or later.

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

Is CVE-2018-3718 being exploited?

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

Sources

Also known as GHSA-5rc4-8qqh-vq7f.

Is CVE-2018-3718 in your software?

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

Check your SBOMs for free