Pierwszy w historii exploit na krytyczną podatność w implementacji HTTP2 (HAProxy, CVE-2020-11100)

21 kwietnia 2020, 11:40 | W biegu | 0 komentarzy
: oglądaj sekurakowe live-streamy o bezpieczeństwie IT.

Podatność została niedawno temu załatana w HAProxy i została od razu zaklasyfikowana jako krytyczna. Twórcy HAProxy piszą asekurancko, że nie powinno się dać wykorzystać luki, no może co najwyżej być crash, a w nowoczesnych systemach to już w ogóle jest tyle zabezpieczeń że hej! A tym czasem googlowy projekt zero opublikował exploita dającego RCE (remote code execution) na HAProxy uruchomionym na Ubuntu:

While the exploit is mostly config independent, it’s only tested against the attached minimal config based on the Ubuntu default configuration. The exploit should work very reliable on an idle server, but might crash against servers under high load.

O co chodzi w problemie? Na względnie prostej manipulacji nagłówkami HTTP2 (są one nieco inne od zwykłych nagłówków HTTP). W akcji bierze też udział HPACK (używany jest do kompresji nagłówków H2). W ramach przypomnienia – komunikacja HTTP2 wygląda mniej więcej tak (rozbudowane rozdziały dotyczące HTTP oraz HTTP2 można również znaleźć w naszej książce):

 

Rysunek 10. Komunikacja HTTP/2.

Do tej pory podatności w implementacjach HTTP2 były najczęściej klasy DoS. Sama omawiana podatność w skrócie:

Inserting a zero-length header into a wrapped http2 hpack table incorrectly uses the headroom (hpack-tbl.c:351), creates overlapping tailrooms  and can lead to an integer underflow in the tailroom calculation in  hpack-tbl.c:342. This can be used to corrupt the descriptor array at the  beginning of the table.

Warto oczywiście się ASAP załatać oraz załatać produkty, które korzystają z HAProxy.

–ms

 

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

Odpowiedz