CVE-2020-5207 Request smuggling is possible in Ktor when both chunked TE and content length specified

Medium 5.4 Published Updated

Request smuggling allows bypassing proxy security controls in Ktor when specific header conditions are met.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2020-5207?

CVE-2020-5207 is a medium-severity vulnerability in Ktor.io Ktor, published on 27 Jan 2020. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.

Official description

In Ktor before 1.3.0, request smuggling is possible when running behind a proxy that doesn't handle Content-Length and Transfer-Encoding properly or doesn't handle \n as a headers separator.

Weakness: CWE-444

Which versions are affected by CVE-2020-5207?

4 open source packages ship an affected version, including io.ktor:ktor-client-cio and io.ktor:ktor-server-cio. It affects 1 product.

PackageAffectedFixed in
io.ktor:ktor-client-cio MavenAll versions1.3.0
io.ktor:ktor-client-cio MavenAll versions1.3.0
io.ktor:ktor-server-cio MavenAll versions1.3.0
io.ktor:ktor-server-cio MavenAll versions1.3.0

Products include Jetbrains Ktor.

How do I fix CVE-2020-5207?

Upgrade io.ktor:ktor-client-cio to 1.3.0 or later.

Is CVE-2020-5207 being exploited?

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

Sources

Also known as GHSA-xrr9-rh8p-433v.

Is CVE-2020-5207 in your software?

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

Check your SBOMs for free