CVE-2020-26281
Açıklama
async-h1, Rust (crates.io) için asenkron bir HTTP/1.1 ayrıştırıcısıdır. async-h1'in 2.3.0 sürümünden önceki versiyonlarında bir istek kaçakçılığı (request smuggling) zafiyeti bulunmaktadır. Bu zafiyet, tüm Tide uygulamaları dahil olmak üzere, async-h1'i bir ters proxy arkasında kullanan tüm web sunucularını etkilemektedir. Sunucu, belirli bir arabellek uzunluğundan daha uzun olan bir isteğin gövdesini okumazsa, async-h1 gövde içeriğindeki o ofsetten başlayarak bir sonraki isteği okumaya çalışacaktır. Bu zafiyeti istismar etmenin bir yolu, saldırganın gövdenin ters proxy tarafından fark edilmeyecek bir istek içerdiği şekilde bir istek oluşturması ve böylece sahte forwarded/x-forwarded başlıkları oluşturabilmesidir. Eğer bir uygulama bu başlıkların doğruluğuna güvenirse, kaçırılan istek tarafından yanıltılabilir. Bu zafiyetle ilgili bir diğer potansiyel sorun ise, eğer bir ters proxy birden fazla HTTP istemcisinin isteklerini aynı keep-alive bağlantısı üzerinden gönderiyorsa, kaçırılan isteğin uzun bir içerik belirleyerek başka bir kullanıcının isteğini kendi gövdesinde yakalamasının mümkün olmasıdır. Bu içerik, içeriğin daha sonra saldırgan tarafından alınmasına izin veren bir uç noktaya yapılan POST isteğinde yakalanabilir. Bu durum async-h1 2.3.0 sürümünde giderilmiştir ve önceki sürümler geri çekilmiştir.
Nasıl düzeltilir
- rust-lang async-h12.3.0 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| rust-lang async-h1 | v < 2.3.0 | 2.3.0 |
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.