CVE-2019-17638: Infoleak

Published Jun 3, 2020
·
Updated

Eclipse Jetty, as bundled in Jenkins, could allow a remote attacker to obtain sensitive information, caused by an issue with corrupt HTTP response buffer being sent to different clients. By sending a specially-crafted HTTP request, an attacker could exploit this vulnerability to obtain sensitive information, and use this information to launch further attacks against the affected system.

Other sources

In Eclipse Jetty, versions 9.4.27.v20200227 to 9.4.29.v20200521, in case of too large response headers, Jetty throws an exception to produce an HTTP 431 error. When this happens, the ByteBuffer containing the HTTP response headers is released back to the ByteBufferPool twice. Because of this double release, two threads can acquire the same ByteBuffer from the pool and while thread1 is about to use the ByteBuffer to write response1 data, thread2 fills the ByteBuffer with other data. Thread1 then proceeds to write the buffer that now contains different data. This results in client1, which issued request1 seeing data from another request or response which could contain sensitive data belonging to client2 (HTTP session ids, authentication credentials, etc.). If the Jetty version cannot be upgraded, the vulnerability can be significantly reduced by configuring a responseHeaderSize significantly larger than the requestHeaderSize (12KB responseHeaderSize and 8KB requestHeaderSize).

In Eclipse Jetty, versions 9.4.27.v20200227 to 9.4.29.v20200521, in case of too large response headers, Jetty throws an exception to produce an HTTP 431 error. When this happens, the ByteBuffer containing the HTTP response headers is released back to the ByteBufferPool twice. Because of this double release, two threads can acquire the same ByteBuffer from the pool and while thread1 is about to use the ByteBuffer to write response1 data, thread2 fills the ByteBuffer with response2 data. Thread1 then proceeds to write the buffer that now contains response2 data. This results in client1, which issued request1 and expects responses, to see response2 which could contain sensitive data belonging to client2 (HTTP session ids, authentication credentials, etc.).

References: https://bugs.eclipse.org/bugs/showbug.cgi?id=564984 https://github.com/eclipse/jetty.project/issues/4936

Red Hat

Affected Software

7 affected componentsFixes available
redhat/jenkins<0:2.235.5.1600415953-1.el7
0:2.235.5.1600415953-1.el7
redhat/jenkins<0:2.235.5.1600415514-1.el7
0:2.235.5.1600415514-1.el7
redhat/jenkins<0:2.235.5.1600414805-1.el7
0:2.235.5.1600414805-1.el7
redhat/jetty<9.4.30.
9.4.30.
Eclipse Jetty=9.4.27-20200227
Eclipse Jetty=9.4.28-20200408
Eclipse Jetty=9.4.29-20200521

Event History

Jun 3, 2020
CVE Published
12:00 AM
Jul 9, 2020
CVE Published
via MITRE·06:10 PM
Data Sourced
via MITRE·06:10 PM
DescriptionWeakness
Aug 3, 2020
Data Sourced
via Red Hat·07:43 PM
DescriptionSeverityAffected Software
Jun 29, 2021
Data Sourced
via IBM·12:00 AM
DescriptionSeverityAffected Software

Parent advisories

This vulnerability appears in the following advisories.

Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is CVE-2019-17638?

CVE-2019-17638 is a vulnerability in Eclipse Jetty that could allow a remote attacker to obtain sensitive information.

2

What is the severity of CVE-2019-17638?

The severity of CVE-2019-17638 is critical.

3

How does CVE-2019-17638 work?

CVE-2019-17638 occurs when Jetty throws an exception due to too large response headers, causing the ByteBuffer containing the HTTP response headers to be released back to the ByteBufferPool twice, potentially leading to sensitive information exposure.

4

Which versions of Eclipse Jetty are affected by CVE-2019-17638?

Eclipse Jetty versions 9.4.27.v20200227 to 9.4.29.v20200521 are affected by CVE-2019-17638.

5

How can the CVE-2019-17638 vulnerability be fixed?

To fix the CVE-2019-17638 vulnerability, update Eclipse Jetty to version 9.4.30 or higher.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203