Bug 1864680 (CVE-2019-17638)

Summary: CVE-2019-17638 jetty: double release of resource can lead to information disclosure
Product: [Other] Security Response Reporter: Guilherme de Almeida Suckevicz <gsuckevi>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: abenaiss, aboyko, aileenc, aos-bugs, bmontgom, chazlett, drieden, eparis, extras-orphan, ggaughan, gmalinko, gvarsami, hhorak, janstey, java-maint, java-sig-commits, jburrell, jcoleman, jjohnstn, jochrist, jokerman, jorton, jwon, kconner, krathod, krzysztof.daniel, ldimaggi, mizdebsk, msrb, nstielau, nwallace, pbhattac, pdrozd, pjindal, rwagner, sochotni, sponnaga, sthorger, tcunning, tkirby, vbobade
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: jetty-9.4.30.v20200611 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-09-30 20:21:19 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1864683, 1875257, 1875258, 1875259, 1875260, 1875261, 1877292    
Bug Blocks: 1864684    

Description Guilherme de Almeida Suckevicz 2020-08-03 19:43:18 UTC
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/show_bug.cgi?id=564984
https://github.com/eclipse/jetty.project/issues/4936

Comment 1 Guilherme de Almeida Suckevicz 2020-08-03 19:43:41 UTC
Created jetty tracking bugs for this issue:

Affects: fedora-all [bug 1864683]

Comment 8 Yadnyawalk Tale 2020-08-11 12:29:47 UTC
Red Hat Satellite 5 was shipping jetty/nutch however it is EOL from March 31, 2020. Red Hat do not ship those components Satellite 6 onward.
Reference: https://access.redhat.com/support/policy/updates/satellite

Comment 12 errata-xmlrpc 2020-09-30 18:54:53 UTC
This issue has been addressed in the following products:

  Red Hat OpenShift Container Platform 4.5

Via RHSA-2020:3841 https://access.redhat.com/errata/RHSA-2020:3841

Comment 13 Product Security DevOps Team 2020-09-30 20:21:19 UTC
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s):

https://access.redhat.com/security/cve/cve-2019-17638

Comment 14 errata-xmlrpc 2020-10-13 08:04:16 UTC
This issue has been addressed in the following products:

  Red Hat OpenShift Container Platform 4.4

Via RHSA-2020:4220 https://access.redhat.com/errata/RHSA-2020:4220

Comment 17 errata-xmlrpc 2020-10-22 10:48:29 UTC
This issue has been addressed in the following products:

  Red Hat OpenShift Container Platform 3.11

Via RHSA-2020:4223 https://access.redhat.com/errata/RHSA-2020:4223

Comment 18 errata-xmlrpc 2020-12-16 12:14:53 UTC
This issue has been addressed in the following products:

  Red Hat Fuse 7.8.0

Via RHSA-2020:5568 https://access.redhat.com/errata/RHSA-2020:5568