¡¾Îó²îͨ¸æ¡¿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¶à¸öÎó²îͨ¸æºÍΣº¦Ô¤¾¯ £¬ÎÒÃǽ«Ò»Á¬¸ú×ÙÈ«Çò×îеÄÍøÂçÇå¾²ÊÂÎñºÍÎó²î £¬ÎªÆóÒµµÄÐÅÏ¢Çå¾²±£¼Ý»¤º½¡£

¹Ø×¢ÎÒÃÇ£º

image.png