CVE-2021-29474

Orta

Açıklama

HedgeDoc (eski adıyla CodiMD), açık kaynaklı bir iş birlikli markdown düzenleyicisidir. Hatalı girdi doğrulaması nedeniyle bir saldırgan, göreceli yol atlama (relative path traversal) gerçekleştirerek sunucunun dosya sisteminden rastgele `.md` dosyalarını okuyabilir. Etkilenip etkilenmediğinizi doğrulamak için şu URL'yi açmayı deneyebilirsiniz: `http://localhost:3000/..%2F..%2FREADME#` (`http://localhost:3000` kısmını kendi örneğinizin temel URL'si ile değiştirin, örn. `https://demo.hedgedoc.org/..%2F..%2FREADME#`). Eğer bir README sayfasının oluşturulduğunu görürseniz, etkilenen bir sürüm çalıştırıyorsunuz demektir. Saldırı, dahili yönlendiricinin URL-kodlanmış takma adı `noteController.showNote` fonksiyonuna aktarması nedeniyle gerçekleşir. Bu fonksiyon, girdiyi doğrudan `findNote()` yardımcı fonksiyonuna aktarır; o da bunu `parseNoteId()` fonksiyonuna iletir. `parseNoteId()` fonksiyonu, noteId/takma adı anlamlandırmaya ve bir notun zaten mevcut olup olmadığını, mevcutsa diskteki karşılık gelen dosyanın güncellenip güncellenmediğini kontrol eder. Herhangi bir not mevcut değilse, bu doğrulanmamış takma adı sonuna `.md` ekleyerek bir `path.join()` fonksiyonuna aktaran not oluşturma fonksiyonu çağrılır; bu işlem takip eden rutinde dosya sisteminden okunur ve yeni notun önceden doldurulmuş içeriğini sağlar. Bu durum, bir saldırganın dosya sistemindeki rastgele `.md` dosyalarını okumasına ve ayrıca bunlardaki değişiklikleri gözlemlemesine olanak tanır. Temel olarak yalnızca markdown dosyalarının `.md` dosya uzantısını kullanması ve README gibi HedgeDoc projesinde yer alan tüm markdown dosyalarının zaten herkese açık olması nedeniyle, bu saldırının faydası sınırlı kabul edilebilir. Chroot veya konteyner ya da uygun dosya izinleri gibi diğer korumalar mevcutsa, bu saldırının faydası oldukça sınırlıdır. Ters proxy düzeyinde, yönlendirici böyle bir yolu kabul etmeyeceği için bu saldırıyı önleyecek şekilde bir URL-dekod işlemi zorlanabilir.

ÖnemOrta
CVSS4.7
İstismar olasılığı—
ÜrünHedgedoc
Yayın26 Nis 2021
İlk görülme26 Nis 2021

Nasıl düzeltilir

Güncelleyin
  • hedgedoc hedgedoc1.8.0 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
hedgedoc hedgedocv < 1.8.01.8.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.

Intelligence 360 paketinde

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.