CVE-2018-17846 x/net/html Vulnerable to DoS During HTML Parsing

High 7.5 Published Updated

An attacker can cause a denial of service via an infinite loop in the Go HTML parser by providing a specific malformed table structure.

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-17846?

CVE-2018-17846 is a high-severity denial of service vulnerability in Fedoraproject Fedora, published on 1 Oct 2018. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

The html package (aka x/net/html) through 2018-09-25 in Go mishandles <table><math><select><mi><select></table>, leading to an infinite loop during an html.Parse call because inSelectIM and inSelectInTableIM do not comply with a specification.

Weakness: CWE-835

Which versions are affected by CVE-2018-17846?

3 open source packages ship an affected version, including golang.org/x/net. It affects 2 products.

PackageAffectedFixed in
golang.org/x/net GoAll versions0.0.0-20190125091013-d26f9f9a57f3
golang.org/x/net GoAll versions0.0.0-20190125091013-d26f9f9a57f3
golang.org/x/net GoAll versions0.0.0-20190125091013-d26f9f9a57f3

Products include Fedoraproject Fedora, Golang Net.

How do I fix CVE-2018-17846?

Upgrade golang.org/x/net to 0.0.0-20190125091013-d26f9f9a57f3 or later.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2018-17846 being exploited?

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

All Fedoraproject Fedora vulnerabilities

Sources

Also known as GHSA-vfw5-hrgq-h5wf, GO-2020-0014, UBUNTU-CVE-2018-17846.

Is CVE-2018-17846 in your software?

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

Check your SBOMs for free