[GHSA-h2f4-v4c4-6wx4] Uncontrolled Resource Consumption in org.eclipse.jetty:jetty-server#7093
Conversation
|
🤔 We seem to have taken the fixed versions from this comment. jetty/jetty.project#2722 (which jetty/jetty.project#2723 fixes) says it is addressing CVE-2019-9515, though the vulnerabilities seem related. I will take a closer look. |
|
Hi @JonathanLEvans, Any update on this issue ? |
|
👋 This pull request has been marked as stale because it has been open with no activity. You can: comment on the issue or remove the stale label to hold stale off for a while, add the |
|
Hi Team, @JonathanLEvans, @shelbyc Any update on this PR? |
499ba8a
into
Meet003118/advisory-improvement-7093
|
Hi @Meet003118! Thank you so much for contributing to the GitHub Advisory Database. This database is free, open, and accessible to all, and it's people like you who make it great. Thanks for choosing to help others. We hope you send in more contributions in the future! |
Updates
Comments
Two updates are made:
The CVE describes two attack vectors - a single large SETTINGS frame with many keys, and many small SETTINGS frames.
The fix can be traced to commit: jetty/jetty.project@9eca404 and PR: jetty/jetty.project#2723 - Improve configurability for SETTINGS frames, which :
SettingsFrame.javakeyscounter inSettingsBodyParser.javathat is NOT reset between frames (covering both attack vectors)testGenerateParseTooManySettingsInOneFrameandtestGenerateParseTooManySettingsInMultipleFramesthat directly validate both CVE attack scenariosThis was also independently confirmed in a bugzilla report : https://bugzilla.redhat.com/show_bug.cgi?id=1696062#c3
Commit 9eca404 was only merged into the 9.4.x branch and shipped in version 9.4.12.RC1. It was never backported to 9.3.x. This can be verified by inspecting
SettingsBodyParser.javadirectly on the 9.3.x branch - themaxKeysguard andDEFAULT_MAX_KEYSconstant are both absent across all 9.3.x versions including 9.3.25.v20180904.The 9.3.x patched version stated in the advisory is therefore incorrect.
The vulnerable and patched code resides in
org.eclipse.jetty.http2:http2-common(SettingsBodyParser.java), not in GA :org.eclipse.jetty:jetty-server, jetty-server contains no HTTP/2 frame parsing logic.