#VU24831 Inconsistent interpretation of HTTP requests in Kotlin Ktor


Published: 2020-02-03 | Updated: 2020-02-04

Vulnerability identifier: #VU24831

Vulnerability risk: Medium

CVSSv3.1: 4.2 [CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N/E:U/RL:O/RC:C]

CVE-ID: CVE-2020-5207

CWE-ID: CWE-444

Exploitation vector: Network

Exploit availability: No

Vulnerable software:
Kotlin Ktor
Server applications / Frameworks for developing and running applications

Vendor: JetBrains s.r.o.

Description

The vulnerability allows a remote attacker to perform HTTP request smuggling attack.

The vulnerability exists due to insufficient validation of HTTP request when running headers behind a proxy that does not handle Content-Length and Transfer-Encoding properly or does not handle "\n" as a headers separator. A remote attacker can send a specially crafted HTTP request and perform HTTP request smuggling attack.

Mitigation
Install updates from vendor's website.

Vulnerable software versions

Kotlin Ktor: 0.1.2 - 1.2.6


External links
http://github.com/ktorio/ktor/pull/1547
http://github.com/ktorio/ktor/security/advisories/GHSA-xrr9-rh8p-433v
http://blog.jetbrains.com/blog/2020/01/24/jetbrains-security-bulletin-q4-2019/


Q & A

Can this vulnerability be exploited remotely?

Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.

Is there known malware, which exploits this vulnerability?

No. We are not aware of malware exploiting this vulnerability.


Latest bulletins with this vulnerability