¡¾·ì϶¹«¸æ¡¿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ÈÕ£¬ £¬£¬£¬ £¬£¬£¬8827Ì«Ñô¼¯ÍÅ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 8827Ì«Ñô¼¯Íżò½é

8827Ì«Ñô¼¯ÍųÉÁ¢ÓÚ1996Ä꣬ £¬£¬£¬ £¬£¬£¬ÊÇÓÉÁôÃÀ²©Ê¿ÑÏÍû¼ÑŮʿ´´½¨µÄ¡¢Õ¼ÓÐÆëÈ«×ÔÖ÷֪ʶ²úȨµÄÐÅÏ¢°²È«¸ß¿Æ¼¼ÆóÒµ¡£¡£¡£¡£¡£ÊǹúÄÚ×î¾ßʵÁ¦µÄÐÅÏ¢°²È«²úÆ·¡¢°²È«·þÎñ½â¾ö¹æ»®µÄÁ캽ÆóÒµÖ®Ò»¡£¡£¡£¡£¡£

¹«Ë¾×ܲ¿Î»ÓÚ±±¾©ÊÐÖйشåÈí¼þÔ°8827Ì«Ñô¼¯ÍÅ´óÏ㬠£¬£¬£¬ £¬£¬£¬¹«Ë¾Ô±¹¤6000ÓàÈË£¬ £¬£¬£¬ £¬£¬£¬Ñз¢ÍŶÓ1200ÓàÈË, ¼¼Êõ·þÎñÍŶÓ1300ÓàÈË¡£¡£¡£¡£¡£ÔÚÈ«¹ú¸÷Ê¡¡¢ÊÓ×¢×ÔÖÎÇøÉèÁ¢·ÖÖ§»ú¹¹ÁùÊ®¶à¸ö£¬ £¬£¬£¬ £¬£¬£¬Õ¼Óи²¸ÇÈ«¹úµÄÏúÊÛϵͳ¡¢Çþ·ϵͳºÍ¼¼ÊõÖ§³Öϵͳ¡£¡£¡£¡£¡£¹«Ë¾ÓÚ2010Äê6ÔÂ23ÈÕÔÚÀö½­ÖÐÓ×°å¹ÒÅÆÉÏÊÓ×£¡£¡£¡£¡££¨¹ÉƱ´úÂ룺002439£©

¶àÄêÀ´£¬ £¬£¬£¬ £¬£¬£¬8827Ì«Ñô¼¯ÍÅÖÂÁ¦ÓÚÌṩӵÓйú¼Ê¾ºÕùÁ¦µÄ×ÔÖ÷´´Ðµİ²È«²úÆ·ºÍ×î¼Ñʵ¼Ê·þÎñ£¬ £¬£¬£¬ £¬£¬£¬Ô®ÊÖ¿Í»§È«ÃæÌáÉýÆäIT»ù´¡ÉèÊ©µÄ°²È«ÐԺͳö²úЧÁ¦£¬ £¬£¬£¬ £¬£¬£¬Îª´òÔìºÍÌáÉý¹ú¼Ê»¯µÄÃñ×åÐÅÏ¢°²È«²úÒµÁì¾üÆ·ÅÆ¶ø²»Ð¸ÖÂÁ¦¡£¡£¡£¡£¡£

5.2 ¹ØÓÚ8827Ì«Ñô¼¯ÍÅ

8827Ì«Ñô¼¯ÍŰ²È«Ó¦¼±ÏìÓ¦ÖÐÐÄÒѰ䲼1000¶à¸ö·ì϶¹«¸æÎ¢·çÏÕÔ¤¾¯£¬ £¬£¬£¬ £¬£¬£¬ÎÒÃǽ«³ÖÐø¸ú×ÙÈ«Çò×îеÄÍøÂ簲ȫÊÂÎñºÍ·ì϶£¬ £¬£¬£¬ £¬£¬£¬ÎªÆóÒµµÄÐÅÏ¢°²È«±£¼Ý»¤º½¡£¡£¡£¡£¡£

¹Ø×¢ÎÒÃÇ£º

image.png