nghttp2 is an implementation of the Hypertext Transfer Protocol version 2 in C. The nghttp2 library prior to version 1.61.0 keeps reading the unbounded number of HTTP/2 CONTINUATION frames even after a stream is reset to keep HPACK context in sync. This causes excessive CPU usage to decode HPACK stream. nghttp2 v1.61.0 mitigates this vulnerability by limiting the number of CONTINUATION frames it accepts per stream. There is no workaround for this vulnerability.
{ "vanir_signatures": [ { "id": "CVE-2024-28182-06276930", "digest": { "line_hashes": [ "168416563576190347408713241978336909463", "105745070991987012142728504826722163928", "210045656255359480426491036454890754216", "182117628044521304124954506324383395004", "42570277537144117251232856936909939939", "64975666185196201045112099564033956892", "271210678605979927435771064555308419524" ], "threshold": 0.9 }, "target": { "file": "lib/nghttp2_session.h" }, "signature_version": "v1", "source": "https://github.com/nghttp2/nghttp2/commit/00201ecd8f982da3b67d4f6868af72a1b03b14e0", "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-28182-08b9f33e", "digest": { "line_hashes": [ "45310035522936433301363521141127259870", "15480211169677363032542398854259055915", "185566811840970922285530967417650931151", "249808213665340442941275941815580125418", "105787306871381089957766610171564903994", "116903801119350570950032397955069123636", "100901886405521681434148391180217479535", "132973454053868903628150006430808797623" ], "threshold": 0.9 }, "target": { "file": "lib/nghttp2_option.h" }, "signature_version": "v1", "source": "https://github.com/nghttp2/nghttp2/commit/d71a4668c6bead55805d18810d633fbb98315af9", "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-28182-1b594dc2", "digest": { "length": 27438.0, "function_hash": "277377678866018232605278761261395556339" }, "target": { "function": "nghttp2_session_mem_recv2", "file": "lib/nghttp2_session.c" }, "signature_version": "v1", "source": "https://github.com/nghttp2/nghttp2/commit/00201ecd8f982da3b67d4f6868af72a1b03b14e0", "deprecated": false, "signature_type": "Function" }, { "id": "CVE-2024-28182-3b1128f7", "digest": { "length": 6183.0, "function_hash": "185793910357562898773047223171943655645" }, "target": { "function": "session_new", "file": "lib/nghttp2_session.c" }, "signature_version": "v1", "source": "https://github.com/nghttp2/nghttp2/commit/d71a4668c6bead55805d18810d633fbb98315af9", "deprecated": false, "signature_type": "Function" }, { "id": "CVE-2024-28182-3c6722d3", "digest": { "line_hashes": [ "62934841579446218291310397647181859937", "198310210882851722095017007230154127159", "66281390626786731072606088864116774716", "77071207928031166158783556068782833928" ], "threshold": 0.9 }, "target": { "file": "lib/nghttp2_session.c" }, "signature_version": "v1", "source": "https://github.com/nghttp2/nghttp2/commit/d71a4668c6bead55805d18810d633fbb98315af9", "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-28182-6aee20fb", "digest": { "line_hashes": [ "74239153192932919673058296155399667044", "25645480181004914542417771660506898785", "167027884194542307147716645224143680404", "52565796836102647758594797720601275993", "184250355424449375404011615813589273871", "33575398907079311815942647898791112560", "212419227813462998438868087916798159532", "120004842395366115637624773045995342953", "100265471669511872002174691824280780718", "222527491541499849599219319732743700968", "261039132491513982766691254601259755489" ], "threshold": 0.9 }, "target": { "file": "lib/nghttp2_session.c" }, "signature_version": "v1", "source": "https://github.com/nghttp2/nghttp2/commit/00201ecd8f982da3b67d4f6868af72a1b03b14e0", "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-28182-8f4f22ab", "digest": { "length": 6112.0, "function_hash": "265277463269901768871363643440463795991" }, "target": { "function": "session_new", "file": "lib/nghttp2_session.c" }, "signature_version": "v1", "source": "https://github.com/nghttp2/nghttp2/commit/00201ecd8f982da3b67d4f6868af72a1b03b14e0", "deprecated": false, "signature_type": "Function" }, { "id": "CVE-2024-28182-ca6adfa6", "digest": { "line_hashes": [ "321095213924837251945518793819795712308", "45751897705775381834533152983753160435", "338380929782320037738470125326777673843" ], "threshold": 0.9 }, "target": { "file": "lib/includes/nghttp2/nghttp2.h" }, "signature_version": "v1", "source": "https://github.com/nghttp2/nghttp2/commit/d71a4668c6bead55805d18810d633fbb98315af9", "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-28182-ec0ebb72", "digest": { "length": 3230.0, "function_hash": "220166590879525729467479264486194269073" }, "target": { "function": "nghttp2_strerror", "file": "lib/nghttp2_helper.c" }, "signature_version": "v1", "source": "https://github.com/nghttp2/nghttp2/commit/00201ecd8f982da3b67d4f6868af72a1b03b14e0", "deprecated": false, "signature_type": "Function" }, { "id": "CVE-2024-28182-ee5b9193", "digest": { "line_hashes": [ "105990474738462789621800357164324771296", "329256794827871196652671364414674389722", "73597585812767531931530952450263453037", "190122327470319867538967522868158070439" ], "threshold": 0.9 }, "target": { "file": "lib/nghttp2_helper.c" }, "signature_version": "v1", "source": "https://github.com/nghttp2/nghttp2/commit/00201ecd8f982da3b67d4f6868af72a1b03b14e0", "deprecated": false, "signature_type": "Line" }, { "id": "CVE-2024-28182-f9fd8e93", "digest": { "line_hashes": [ "15094264943449310412926177594570369719", "92239534102572802314686247865166681236", "189363486363542994076907577273592157321", "289279146741278262746505326032312713603" ], "threshold": 0.9 }, "target": { "file": "lib/includes/nghttp2/nghttp2.h" }, "signature_version": "v1", "source": "https://github.com/nghttp2/nghttp2/commit/00201ecd8f982da3b67d4f6868af72a1b03b14e0", "deprecated": false, "signature_type": "Line" } ] }