¡¾Îó²îͨ¸æ¡¿HTTP/2 CONTINUATION Flood¾Ü¾øÐ§ÀÍÎó²î
Ðû²¼Ê±¼ä 2024-04-07
Ò»¡¢Îó²î¸ÅÊö
Îó²îÃû³Æ | HTTP/2 CONTINUATION Flood¾Ü¾øÐ§ÀÍÎó²î | ||
CVE ID | CVE-2024-27983¡¢CVE-2024-27316µÈ | ||
Îó²îÀàÐÍ | DoS | ·¢Ã÷ʱ¼ä | 2024-04-07 |
Îó²îÆÀ·Ö | Îó²îÆ·¼¶ | ¸ßΣ | |
¹¥»÷ÏòÁ¿ | ÍøÂç | ËùÐèȨÏÞ | ÎÞ |
ʹÓÃÄÑ¶È | µÍ | Óû§½»»¥ | ÎÞ |
PoC/EXP | δ¹ûÕæ | ÔÚҰʹÓà | δ֪ |
HTTP/2ÊÇÒ»ÖÖÇå¾²¸ßЧµÄÏÂÒ»´úhttp´«ÊäÐÒ飬£¬£¬£¬£¬£¬£¬Ö¼ÔÚͨ¹ýÒýÈëÓÃÓÚ¸ßЧÊý¾Ý´«ÊäµÄ¶þ½øÖÆÖ¡¡¢ÔÊÐíͨ¹ýµ¥¸öÅþÁ¬¾ÙÐжà¸öÇëÇóºÍÏìÓ¦µÄ¶à·¸´ÓÃÒÔ¼°ÓÃÓÚïÔÌ¿ªÏúµÄ±êͷѹËõÀ´Ìá¸ßWebÐÔÄÜ¡£¡£¡£HTTP/2 CONTINUATIONÖ¡ÓÃÓÚÒ»Á¬×Ö¶Î¿éÆ¬¶ÏµÄÐòÁС£¡£¡£
2024Äê4ÔÂ7ÈÕ£¬£¬£¬£¬£¬£¬£¬¼øºÚµ£±£ÍøVSRC¼à²âµ½HTTP/2ÐÒé±»Åû¶±£´æ¾Ü¾øÐ§ÀÍÎó²î£¬£¬£¬£¬£¬£¬£¬¸ÃÎó²î±»³ÆÎª¡°HTTP/2 CONTINUATION Flood¡±£¬£¬£¬£¬£¬£¬£¬¿Éµ¼Ö¾ܾøÐ§ÀÍ£¨DoS£©¹¥»÷£¬£¬£¬£¬£¬£¬£¬ÔÚijЩʵÏÖÖпÉͨ¹ýµ¥¸öTCPÅþÁ¬Ê¹webЧÀÍÆ÷Í߽⣬£¬£¬£¬£¬£¬£¬ÏÖÔÚ¸ÃÎó²îµÄÊÖÒÕϸ½ÚÒѹûÕæÅû¶¡£¡£¡£
ÓÉÓÚijЩHTTP/2ÐÒéʵÏÖÖÐûÓÐÊʵ±ÏÞÖÆ»òÕûÀíµ¥¸öÊý¾ÝÁ÷Öз¢Ë굀 CONTINUATION Ö¡µÄÊýÄ¿£¬£¬£¬£¬£¬£¬£¬¹¥»÷Õß¿Éͨ¹ý²»ÉèÖà END_HEADERS ±ê¼Ç룬£¬£¬£¬£¬£¬£¬ÏòÄ¿µÄЧÀÍÆ÷·¢ËÍ CONTINUATION Ö¡Á÷£¬£¬£¬£¬£¬£¬£¬´Ó¶ø¿ÉÄܵ¼ÖÂÄÚ´æÈ±·¦±ÀÀ£»£»£»òCPU×ÊÔ´ºÄ¾¡¶øµ¼ÖÂЧÀÍÆ÷ÖÐÖ¹£¬£¬£¬£¬£¬£¬£¬Ôì³É¾Ü¾øÐ§ÀÍ¡£¡£¡£
¶þ¡¢Ó°Ïì¹æÄ£
ÒÑÖªHTTP/2 CONTINUATION FloodÓ°Ïì¶à¸öÏîÄ¿£¬£¬£¬£¬£¬£¬£¬²î±ðµÄHTTP/2ʵÏÖ¿ÉÄÜ»áÓÐÌØ¶¨ÓÚ¸ÃʵÏֵįæÒìÎó²î¼°Ó°Ï죬£¬£¬£¬£¬£¬£¬²î±ðHTTP/2ʵÏÖÏà¶ÔÓ¦µÄ²¿·ÖCVE IDÈçÏ£º
l Envoy£¨CVE-2024-27919¡¢CVE-2024-30255£©
l Tempesta FW ( CVE-2024-2758 )
l amphp/http ( CVE-2024-2653 )
l Golang£¨CVE-2023-45288£©
l nghttp2£¨CVE-2024-28182£©
l Apache HTTP Server ( CVE-2024-27316 )
l Apache Traffic Server ( CVE-2024-31309 )
l Node.js£¨CVE-2024-27983£©
ÖµµÃ×¢ÖØµÄÊÇ£¬£¬£¬£¬£¬£¬£¬ÔÚijЩÊÜÓ°ÏìʵÏÖÖУ¬£¬£¬£¬£¬£¬£¬½öͨ¹ýµ¥¸öTCPÅþÁ¬¾Í¿ÉÄܵ¼ÖÂwebЧÀÍÆ÷Í߽⣬£¬£¬£¬£¬£¬£¬ÇÒ¶ñÒâÇëÇó¿ÉÄÜÔÚHTTP»á¼ûÈÕÖ¾Öв»¿É¼û£¬£¬£¬£¬£¬£¬£¬Õâ¿ÉÄÜʹµÃ¼ì²âºÍÆÊÎöÔ½·¢ÄÑÌâ¡£¡£¡£
Èý¡¢Çå¾²²½·¥
3.1 Éý¼¶°æ±¾
ÏÖÔÚ²¿·Ö¹©Ó¦ÉÌ/ÏîÄ¿ÒÑÐÞ¸´ÁËÏìÓ¦Îó²î£¬£¬£¬£¬£¬£¬£¬ÊÜÓ°ÏìÓû§¿É²Î¿¼Ïà¹ØÍ¨¸æ²¢ÊµÊ±¸üУº
ÊÜÓ°ÏìÏîÄ¿/ʵÀý | CVE | Ó°Ïì¹æÄ£ | ÐÞ¸´°æ±¾ | ²Î¿¼Á´½Ó |
Envoy | CVE-2024-27919 | Envoy 1.29.0 ¡¢1.29.1 | Éý¼¶µ½°æ±¾ 1.29.2£»£»£»»ò½µ¼¶µ½1.28.1¼°Ö®Ç°°æ±¾ | https://github.com/envoyproxy/envoy/security/advisories/GHSA-gghf-vfxp-799r |
CVE-2024-30255 | 1.29.3¡¢1.28.2¡¢1.27.4 ºÍ 1.26.8 ֮ǰ°æ±¾ | Éý¼¶µ½1.29.3¡¢1.28.2¡¢1.27.4 ¡¢ 1.26.8»ò¸ü¸ß°æ±¾ | https://github.com/envoyproxy/envoy/security/advisories/GHSA-j654-3ccm-vfmm | |
Tempesta FW | CVE-2024-2758 | 0.7.1֮ǰ°æ±¾ | Éý¼¶µ½0.7.1»ò¸ü¸ß°æ±¾ | https://github.com/tempesta-tech/tempesta/security/advisories/GHSA-3xwj-5ch3-q9p4 |
amphp/http | CVE-2024-2653 | amphp/http<= 1.7.2¡¢2.0.0-2.1.0£»£»£» amphp/http-client 4.0.0-rc10 -4.0.0
| Éý¼¶µ½amphp/http 2.1.1¡¢1.7.3£»£»£» amphp/http-client >= 4.1.0-rc1 | https://github.com/amphp/http/security/advisories/GHSA-qjfw-cvjf-f4fm https://github.com/amphp/http-client/security/advisories/GHSA-w8gf-g2vq-j2f4 |
Golang | CVE-2023-45288 | Go<1.22.2¡¢Go <1.21.9 | Éý¼¶µ½Go 1.22.2 ¡¢ 1.21.9 | https://pkg.go.dev/vuln/GO-2024-2687 |
nghttp2 | CVE-2024-28182 | nghttp2 < 1.61.0 | Éý¼¶µ½nghttp2 °æ±¾1.61.0 | https://github.com/nghttp2/nghttp2/security/advisories/GHSA-x6x3-gv8h-m57q |
Apache HTTP Server | CVE-2024-27316 | Apache HTTP Server <=2.4.58 | Éý¼¶µ½Apache HTTP Server 2.4.59 | https://httpd.apache.org/security/vulnerabilities_24.html |
3.2 ÔÝʱ²½·¥
ÔÝÎÞ¡£¡£¡£
3.3 ͨÓý¨Òé
l °´ÆÚ¸üÐÂϵͳ²¹¶¡£¬£¬£¬£¬£¬£¬£¬ïÔÌϵͳÎó²î£¬£¬£¬£¬£¬£¬£¬ÌáÉýЧÀÍÆ÷µÄÇå¾²ÐÔ¡£¡£¡£
l ÔöǿϵͳºÍÍøÂçµÄ»á¼û¿ØÖÆ£¬£¬£¬£¬£¬£¬£¬Ð޸ķÀ»ðǽսÂÔ£¬£¬£¬£¬£¬£¬£¬¹Ø±Õ·ÇÐëÒªµÄÓ¦Óö˿ڻòЧÀÍ£¬£¬£¬£¬£¬£¬£¬ïÔ̽«Î£ÏÕЧÀÍ£¨ÈçSSH¡¢RDPµÈ£©Ì»Â¶µ½¹«Íø£¬£¬£¬£¬£¬£¬£¬ïÔ̹¥»÷Ãæ¡£¡£¡£
l ʹÓÃÆóÒµ¼¶Çå¾²²úÆ·£¬£¬£¬£¬£¬£¬£¬ÌáÉýÆóÒµµÄÍøÂçÇå¾²ÐÔÄÜ¡£¡£¡£
l ÔöǿϵͳÓû§ºÍȨÏÞÖÎÀí£¬£¬£¬£¬£¬£¬£¬ÆôÓöàÒòËØÈÏÖ¤»úÖÆºÍ×îСȨÏÞÔÔò£¬£¬£¬£¬£¬£¬£¬Óû§ºÍÈí¼þȨÏÞÓ¦¼á³ÖÔÚ×îµÍÏÞ¶È¡£¡£¡£
l ÆôÓÃÇ¿ÃÜÂëÕ½ÂÔ²¢ÉèÖÃΪ°´ÆÚÐ޸ġ£¡£¡£
3.4 ²Î¿¼Á´½Ó
https://nowotarski.info/http2-continuation-flood-technical-details/#a-quick-intro-to-http2
https://kb.cert.org/vuls/id/421644
ËÄ¡¢°æ±¾ÐÅÏ¢
°æ±¾ | ÈÕÆÚ | ±¸×¢ |
V1.0 | 2024-04-07 | Ê×´ÎÐû²¼ |
Îå¡¢¸½Â¼
5.1 ¼øºÚµ£±£Íø¼ò½é
¼øºÚµ£±£Íø½¨ÉèÓÚ1996Ä꣬£¬£¬£¬£¬£¬£¬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ½¨ÉèµÄ¡¢ÓµÓÐÍêÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢Çå¾²¸ß¿Æ¼¼ÆóÒµ¡£¡£¡£ÊǺ£ÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢Çå¾²²úÆ·¡¢Ç徲ЧÀͽâ¾ö¼Æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£¡£¡£
¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°¼øºÚµ£±£Íø´óÏ㬣¬£¬£¬£¬£¬£¬¹«Ë¾Ô±¹¤6000ÓàÈË£¬£¬£¬£¬£¬£¬£¬Ñз¢ÍŶÓ1200ÓàÈË, ÊÖÒÕЧÀÍÍŶÓ1300ÓàÈË¡£¡£¡£ÔÚÌìϸ÷Ê¡¡¢ÊС¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬£¬£¬£¬£¬£¬£¬ÓµÓÐÁýÕÖÌìϵÄÏúÊÛϵͳ¡¢ÇþµÀϵͳºÍÊÖÒÕÖ§³Öϵͳ¡£¡£¡£¹«Ë¾ÓÚ2010Äê6ÔÂ23ÈÕÔÚÉîÛÚÖÐС°å¹ÒÅÆÉÏÊС£¡£¡££¨¹ÉƱ´úÂ룺002439£©
¶àÄêÀ´£¬£¬£¬£¬£¬£¬£¬¼øºÚµ£±£ÍøÖÂÁ¦ÓÚÌṩ¾ßÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷Á¢ÒìµÄÇå¾²²úÆ·ºÍ×î¼Ñʵ¼ùЧÀÍ£¬£¬£¬£¬£¬£¬£¬×ÊÖú¿Í»§ÖÜÈ«ÌáÉýÆäIT»ù´¡ÉèÊ©µÄÇå¾²ÐÔºÍÉú²úЧÄÜ£¬£¬£¬£¬£¬£¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢Çå¾²¹¤ÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸Æð¾¢¡£¡£¡£
5.2 ¹ØÓÚ¼øºÚµ£±£Íø
¼øºÚµ£±£ÍøÇå¾²Ó¦¼±ÏìÓ¦ÖÐÐÄÒÑÐû²¼1000¶à¸öÎó²îͨ¸æºÍΣº¦Ô¤¾¯£¬£¬£¬£¬£¬£¬£¬ÎÒÃǽ«Ò»Á¬¸ú×ÙÈ«Çò×îеÄÍøÂçÇå¾²ÊÂÎñºÍÎó²î£¬£¬£¬£¬£¬£¬£¬ÎªÆóÒµµÄÐÅÏ¢Çå¾²±£¼Ý»¤º½¡£¡£¡£
¹Ø×¢ÎÒÃÇ£º