9 Milyon Kez İndirilen JsonWebToken Kusuru


JsonWebToken Kusuru

Unit 42 araştırmacıları, popüler açık kaynak projesi JsonWebToken’i araştırırken yeni bir güvenlik açığı keşfetti.

Siber güvenlik analistleri, açığı CVE-2022-23529 olarak takip etti ve bu kusur, 7,6 CVSS puanı ile yüksek önem derecesi olarak derecelendirildi.

Bir saldırgan, kötü amaçlarla oluşturulmuş bir JWT isteğini, isteği doğrulayan bir sunucuya geçirerek RCE elde etmek için bu güvenlik açığından yararlanabilir.

Auth0 tarafından sağlanan ve yalnızca geçen ay 36 milyondan fazla indirilen NPM üzerindeki JsonWebToken kitaplığını kullanan 22.000’den fazla açık kaynak projesi var.

DÖRT

Kısacası, paket haftalık olarak ortalama 9 milyondan fazla indirmeye ulaşıyor.

Bunun dışında güvenlik analistleri, JsonWebToken paketinin 8.5.1 sürümünü veya önceki bir sürümünü kullanan kullanıcıların JsonWebToken paket sürümünü hemen 9.0.0’a güncellemelerini şiddetle tavsiye etmektedir.

Bu son sürüm, bu güvenlik açığını gideren güvenlik düzeltme ekini içerdiğinden.

Birkaç dev şirket, kitaplığı açık kaynak projelerinde kullandı, örneğin: –

  • Microsoft
  • Twilio
  • Satış ekibi
  • sezgi
  • Kutu
  • IBM
  • belge imzala
  • Gevşek
  • SAP

JSON Kimlik Doğrulama Süreci

JSON web belirteçleri, basit bir kimlik doğrulama yöntemi olarak kullanılır ve buna bir göz atalım: –

  • Korunan bir kaynağa erişmek için kullanıcının kullanıcı adı ve parola gibi kimlik bilgilerini girmesi gerekir.
  • Bu bilgileri içeren kimlik doğrulama uç noktasına gönderilen bir kimlik doğrulama isteği olacaktır.
  • Doğrulama, istekte sağlanan bilgilere dayalı olarak gizli bir anahtarla imzalanmış bir JWT oluşturan bir kimlik doğrulama sunucusu tarafından gerçekleştirilir. Gizli bir yöneticinin kullanılmasıyla bu bilgiler bir sunucuda veya başka bir yerde saklanabilir.
  • Bir kullanıcı her yetkilendirme başlığı istediğinde, bunun bir parçası olarak bir JWT dahil edilecektir. Bunu yaparak, doğru izinlere sahip kullanıcılar ağda korunan kaynaklara erişebilir.
  • Uygulama, korumalı bir kaynağa erişim için bir istek yapıldığında kullanıcının parolasını içeren bir JWT isteği oluşturur.
  • Yetkilendirme başlığında kullanılan gizli anahtar, kullanıcının istenen kaynağa erişmesine izin verilmeden önce yetkilendirme başlığında gönderilen JWT’yi doğrulamak için kullanılacaktır.
Kimlik Doğrulama Süreci

JWT Gizli Zehirlenme

Kötü amaçlarla oluşturulmuş JWS belirteçleri kullanıldığında, tehdit aktörleri sunucularda uzaktan kod yürütebilir.

Bu güvenlik açığının bir sonucu olarak, JsonWebToken’in correct() yöntemi, bunun kimlik doğrulama olmadan yapılmasına izin verir ve kodu çözülmüş bilgileri kullanıcıya döndürür.

Bu yöntem tarafından kabul edilen üç parametre vardır ve bunlar aşağıdaki gibidir: –

  • jeton
  • Gizli Veya Genel Anahtar
  • Seçenekler

Saldırganın, ‘secretOrPublicKey’ parametresinin bir dize veya arabellek içerip içermediğini belirleyen bir denetimi olmadığından, hedef makinede rasgele dosya yazma işlemleri gerçekleştirebilen özel hazırlanmış bir nesne kullanması mümkündür.

Gizli Zehirlenme

Aynı kusur ile Unit42, istek üzerindeki yük biraz farklı olsaydı, uzaktan kod yürütmenin aynı şekilde gerçekleşmesinin pratik olacağını bildirdi.

Bu güvenlik açığından yararlanmak kolay değil ancak potansiyel hedeflerin sayısı göz önüne alındığında, tehdit aktörleri bunu kullanmak için can atıyor ve bu isteklerini küçümsememek gerekiyor.

Bu kapsamda güvenlik güncellemesinin bir an önce uygulanmasını sağlamak için sistem yöneticileri gerekli adımları atmalıdır.

Ağ Güvenliği Kontrol Listesi – Ücretsiz E-Kitap İndirin



Source link