MongoDB'de BSON Symbol Türü Yetkilendirmeyi Atlatıyor (CVE-2026-18690)
MongoDB CVE-2026-18690: BSON symbol tipi, koleksiyon adı ayrıştırmasını atlatarak sınırlı kullanıcıların korunan sistem koleksiyonlarına erişmesine izin veriyor.
MongoDB, 11 Ağustos 2026'da dördü birden 8.0.29/7.0.40/8.3.8 sürümlerinde giderilen dört Server açığını duyurdu. Bunlardan CVE-2026-18690 (CWE-863, CVSS 3.1: 8.1), koleksiyon adının komut içinde iki kez ayrıştırılmasından kaynaklanan ince bir mantık hatası: parseNsFromCommand fonksiyonu, isim BSON 'symbol' tipiyle gönderildiğinde bunu String olarak tanımadığı için sadece veritabanı seviyesinde bir ad alanına geri dönüyor. Bu da yetkilendirme kontrolünün gerçek koleksiyon yerine geniş veritabanı iznine bakmasına yol açarken, komutun asıl çalıştırılması symbol'ü normal string gibi okuyup gerçek (korunan) koleksiyonu hedefliyor.
Sonuç olarak, veritabanı kapsamlı readWrite gibi sınırlı bir role sahip bir kullanıcı, normalde erişemeyeceği system.profile veya system.views gibi sistem koleksiyonlarına symbol tipli bir ad göndererek yetkilendirme denetimini atlatabiliyor. Saldırı, string ile gönderilen aynı istek Unauthorized ile reddedilirken, symbol ile gönderilen istek yetkilendirmeyi geçip yalnızca yürütme aşamasında (örneğin convertToCapped'in view/profiler koleksiyonunu kapatamaması nedeniyle) hata veriyor — bu da denetimin gerçekten atlandığını kanıtlıyor.
Bu bir kimlik doğrulama gerektiren yetki yükseltme zafiyeti: saldırganın zaten geçerli, sınırlı bir MongoDB hesabına ihtiyacı var. Aynı duyuruda yer alan CVE-2026-18691, küme içi kimlik doğrulama mekanizması düşürme (CWE-757) hatası olup CVSS 4.0'da 9.0 ile daha kritik puanlanıyor. Düzeltme tek satırlık bir tip kontrolü eklemesi; yapılandırma tabanlı bir geçici çözüm yok, tek çözüm 7.0.40/8.0.29/8.3.8'e yükseltmek.