MariaDB, CVE-2026-35549 açığını 3 Nisan 2026’da kapattı. Aradan yedi hafta geçti; düzeltilmiş paketler hâlâ RHEL 8, 9 ve 10, Ubuntu LTS ve CentOS 8 depolarına ulaşmadı. Dağıtım paket yöneticisi üzerinden kurulu bir MariaDB çalıştırıyorsanız ve caching_sha2_password kimlik doğrulama eklentisi etkinse, sisteme erişimi olan herhangi bir kullanıcı tek bir büyük paketle veritabanı sunucusunu düşürebilir.
Açık Nerede?
Sorun, MySQL 8.0’ın varsayılan yaptığı eklentinin MariaDB uyumluluk katmanında yatıyor: caching_sha2_password. Eklenti, bir kimlik doğrulama isteği aldığında sha256_crypt_r fonksiyonunu çağırır. Bu fonksiyon belleği alloca() ile ayırır. malloc()‘tan farklı olarak alloca(), boyut denetimi yapmadan doğrudan yığıt (stack) üzerinden bellek alır. Yeterince büyük bir paket geldiğinde sunucu yığıtın üst sınırını aşar ve süreç anında çöker.
CVSS 3.1 puanı 6.5 Orta (vektör: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H). Veri sızıntısı yok, değişiklik yok — ama kullanılabilirlik etkisi Yüksek. Haklı bir değerlendirme; çöken bir veritabanı, bağımlı tüm uygulamaları birlikte durdurur. Temel zayıflık sınıfı CWE-789: aşırı büyük değerle bellek ayırma.
Kimler Etkileniyor?
Açığın tetiklenmesi için iki koşulun birlikte sağlanması gerekiyor: caching_sha2_password eklentisinin kurulu olması ve en az bir kullanıcı hesabının bu eklentiyi kullanması. Bu, uygulama alanını oldukça daraltıyor.
En yaygın senaryo, MySQL 8.0 veya 8.4’ten MariaDB’ye geçiş yapan ortamlar. MySQL 8.0, caching_sha2_password‘u varsayılan eklenti olarak belirledi; bu yüzden o sürümde oluşturulan her kullanıcı hesabı bu eklentiyle geliyor. MariaDB’ye taşınan bir veritabanında söz konusu hesaplar aynı eklenti tanımıyla gelmeye devam ediyor ve MariaDB’nin uyumluluk katmanı bunu uyguluyor.
Etkilenip etkilenmediğinizi kontrol etmek için:
SELECT user, host, plugin
FROM mysql.user
WHERE plugin = 'caching_sha2_password';
Bu sorgu satır döndürüyorsa eklenti etkin kullanıcı hesaplarıyla çalışıyor demektir — ve açığa maruz kalıyorsunuzdur.
Dağıtım Yamalarındaki Boşluk
MariaDB’nin kendi paket depolarında düzeltme Nisan başından beri mevcut: 11.4.10 (LTS dalı için), 11.8.6 (11.5–11.8 arası için) ve 12.2.2 (12.x için). Geliştirici kaydı MDEV-38365.
Asıl sorun şu: çoğu sunucu, MariaDB’yi MariaDB’nin kendi deposundan değil, işletim sistemi sağlayıcısının deposundan kuruyor. Tenable’ın Nessus eklentisi 305108 açıkça şunları yamalanmamış olarak işaretliyor: RHEL 8, 9 ve 10; CentOS 8; Ubuntu 18.04 LTS ile 25.10 arasındaki tüm sürümler; Azure Linux 3.0. Microsoft’un Azure Linux 3.0 için yayımladığı CSAF danışma belgesi de azl3 mariadb 10.11.16-1 için herhangi bir düzeltme bulunmadığını teyit ediyor. NVD’deki CVE durumu “Awaiting Analysis” olarak kalmaya devam ediyor — bu da dağıtım paketleme sürecini hızlandırmıyor.
Bu durum, güvenlik danışma belgelerinin nadiren vurguladığı gerçek yaşam gecikmesini gösteriyor: kaynak proje yamayı yayımlıyor, CVE kaydediliyor ve ardından dağıtım bakımcıları sıralama, derleme, test ve sürüm süreçlerini işletirken haftalar geçiyor. Bu sürede apt upgrade ya da yum update komutu açığı kapatmak için hiçbir şey yapmıyor.
Ne Yapmalısınız?
Seçenek 1 — Resmi MariaDB deposundan güncelleme. Bugün yamalı bir paket istiyorsanız en hızlı yol, depo kaynağınızı mariadb.org olarak değiştirip düzeltilmiş sürümü doğrudan oradan kurmak. En temiz çözüm bu.
Seçenek 2 — Eklentiyi devre dışı bırakıp kimlik doğrulamayı değiştirin. caching_sha2_password‘u özellikle gerektirmiyorsanız, etkilenen hesapları mysql_native_password‘a (ya da daha modern bir seçenek olarak ed25519‘a) taşıyın:
ALTER USER 'kullaniciadi'@'%' IDENTIFIED WITH mysql_native_password BY 'yeni_sifre';
FLUSH PRIVILEGES;
Ardından eklentiyi kaldırın:
UNINSTALL SONAME 'auth_caching_sha2_password';
Seçenek 3 — Ağ düzeyinde kısıtlama. Anında yama yapamıyorsanız 3306 numaralı portun güvenilmeyen ağlardan erişilebilir olmadığından emin olun. Bu, açığı kapatmaz ama uzaktan saldırı vektörünü ortadan kaldırır. Paylaşımlı hosting ortamlarında bu genellikle zaten böyledir; MySQL’i internete açık bırakan bir VPS kurulumunuz varsa kapatın.
Seçenek 4 — MariaDB yeniden başlatma uyarısı kurun. Bir saldırı girişiminde sunucu çöker. mysqld.err ya da journalctl -u mariadb kimlik doğrulama aşamasında bellek hatası gösterir. Beklenmedik MariaDB yeniden başlatmalarına karşı uyarı sistemi kurmanızı öneririz.
CVE-2026-35549 için şu an bilinen aktif bir istismar yok. Mayıs 2026 sonu itibarıyla EPSS olasılığı %0.057 — son derece düşük. Ancak “bilinen istismar yok” ile “işletim sisteminizden hâlâ yama gelmiyor” kombinasyonu içinde beklemek pek rahat bir konum değil.
kalfaoglu.net Müşterileri İçin Ne Anlam Taşıyor?
Sunucularımızda MariaDB, işletim sistemi vendor paketlerinden değil, MariaDB projesinin kendi deposundan kurulu. Üretimdeki sürümlerin yamalanmış eşiklerin üzerinde olduğunu doğruladık. Paylaşımlı hosting kontrol paneli kullanan kendi VPS veya dedicated sunucunuzu yönetiyorsanız ve MariaDB dağıtım paketiyle geldiyse mariadb --version çıktısını kullandığınız dalla (11.4.x, 11.5–11.8 veya 12.x) karşılaştırın. 10.x gibi eski bir dalda iseniz önce o dalın güvenlik güncellemesi alıp almadığını MariaDB güvenlik sayfasından kontrol edin.
Açık orta şiddette, kimlik doğrulama gerektiriyor ve gizlilik ya da bütünlük üzerinde hiçbir etkisi yok. Büyük bir yangın değil. Ama üretim ortamında bir veritabanının çökmesi hiçbir zaman küçük bir rahatsızlık sayılmaz — ve düzeltme yedi haftadır hazır.