HTTP Request Header Injection Affecting io.micronaut:micronaut-http-client package, versions [,1.2.11)[1.3.0,1.3.2)


Severity

Recommended
0.0
medium
0
10

CVSS assessment made by Snyk's Security Team. Learn more

Threat Intelligence

Exploit Maturity
Proof of concept
EPSS
2.11% (89th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-JAVA-IOMICRONAUT-561342
  • published26 Mar 2020
  • disclosed26 Mar 2020
  • creditJonathan Leitschuh

Introduced: 26 Mar 2020

CVE-2020-7611  (opens in a new tab)
CWE-113  (opens in a new tab)
First added by Snyk

How to fix?

Upgrade io.micronaut:micronaut-http-client to version 1.2.11, 1.3.2 or higher.

Overview

io.micronaut:micronaut-http-client is a modern, JVM-based, full stack microservices framework designed for building modular, easily testable microservice applications.

Affected versions of this package are vulnerable to HTTP Request Header Injection due to not validating request headers passed to the client.

PoC by Jonathan Leitschuh

@Controller("/hello")
public class HelloController {

    @Inject
    @Client("/")
    RxHttpClient client;

    @Get("/external-exploit")
    @Produces(MediaType.TEXT_PLAIN)
    public String externalExploit(@QueryValue("header-value") String headerValue) {
        return client.toBlocking().retrieve(
            HttpRequest.GET("/hello")
                .header("Test", headerValue)
        );
    }
}

CVSS Scores

version 3.1