Operation on a Resource after Expiration or Release Affecting jetty9 package, versions <9.4.31-1


Severity

Recommended
0.0
critical
0
10

Snyk's Security Team recommends NVD's CVSS assessment. Learn more

Threat Intelligence

EPSS
1.12% (85th 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-DEBIAN12-JETTY9-1549156
  • published4 Aug 2020
  • disclosed9 Jul 2020

Introduced: 9 Jul 2020

CVE-2019-17638  (opens in a new tab)
CWE-672  (opens in a new tab)

How to fix?

Upgrade Debian:12 jetty9 to version 9.4.31-1 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream jetty9 package and not the jetty9 package as distributed by Debian. See How to fix? for Debian:12 relevant fixed versions and status.

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).

References

CVSS Scores

version 3.1