CVE-2021-21295
Açıklama
Netty; bakımı yapılabilir, yüksek performanslı protokol sunucuları ve istemcilerinin hızlı geliştirilmesi için açık kaynaklı, asenkron olay güdümlü bir ağ uygulama çerçevesidir. Netty (io.netty:netty-codec-http2) sürüm 4.1.60.Final öncesinde, istek kaçakçılığına (request smuggling) olanak tanıyan bir zafiyet bulunmaktadır. Orijinal HTTP/2 isteğinde bir Content-Length başlığı mevcutsa, bu alan yukarı iletilirken `Http2MultiplexHandler` tarafından doğrulanmaz. İstek HTTP/1.1 olarak proxy edilmediği sürece bu durum sorun teşkil etmez. Eğer istek bir HTTP/2 akışı olarak gelirse, `Http2StreamFrameToHttpObjectCodec` aracılığıyla HTTP/1.1 alan nesnelerine (`HttpRequest`, `HttpContent` vb.) dönüştürülürse ve ardından alt kanalın hattına gönderilip uzak bir eş üzerinden HTTP/1.1 olarak proxy edilirse, bu durum istek kaçakçılığına yol açabilir. Bir proxy durumunda kullanıcılar, içerik uzunluğunun (content-length) bir şekilde doğrulandığını varsayabilir ancak durum böyle değildir. İstek, HTTP/1.1 bağlantısı olan bir arka uç kanalına yönlendirilirse, Content-Length artık anlam kazanır ve kontrol edilmesi gerekir. Bir saldırgan, istek HTTP/2'den HTTP/1.1'e düşürüldüğünde gövde içerisinde istekler kaçırabilir. Örnek bir saldırı için bağlantılı GitHub Advisory'ye bakınız. Kullanıcılar yalnızca şu koşulların tamamı geçerliyse etkilenir: `HTTP2MultiplexCodec` veya `Http2FrameCodec` kullanılıyorsa, HTTP/1.1 nesnelerine dönüştürmek için `Http2StreamFrameToHttpObjectCodec` kullanılıyorsa ve bu HTTP/1.1 nesneleri başka bir uzak eşe yönlendiriliyorsa. Bu durum 4.1.60.Final sürümünde düzeltilmiştir. Geçici bir çözüm olarak kullanıcı, `ChannelPipeline` içinde `Http2StreamFrameToHttpObjectCodec` arkasına yerleştirilen özel bir `ChannelInboundHandler` uygulayarak doğrulamayı kendisi yapabilir.
Nasıl düzeltilir
- netty netty4.1.60 ya da sonraki bir sürüm
- apache kudu1.16.0 ya da sonraki bir sürüm
- io.netty:netty-codec-http24.1.60.Final ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| netty netty | v < 4.1.60 | 4.1.60 |
| netapp oncommand_api_services | Aralık belirtilmemiş | — |
| netapp oncommand_workflow_automation | Aralık belirtilmemiş | — |
| debian debian_linux | 10.0 | — |
| quarkus quarkus | v ≤ 1.13.7 | — |
| apache kudu | v < 1.16.0 | 1.16.0 |
| apache zookeeper | 3.5.9 | — |
| oracle communications_cloud_native_core_policy | 1.14.0 | — |
| io.netty:netty-codec-http2Maven | 4.0.0 ≤ v < 4.1.60.Final | 4.1.60.Final |
| org.jboss.netty:nettyMaven | Aralık belirtilmemiş | — |
| io.netty:nettyMaven | Aralık belirtilmemiş | — |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.