runC Container Escape Guvenlik Acigi CVE-2025-31133: Docker ve Kubernetes Yama Rehberi (2026)

06.02.2026 12:38 Haber

 

Docker ve Kubernetes altyapınızı tehdit eden kritik bir güvenlik açığı keşfedildi! runC container runtime'ında bulunan 3 yeni zafiyet (CVE-2025-31133, CVE-2025-52565, CVE-2025-52881), saldırganların container'dan kaçarak host sisteme erişmesine olanak tanıyor. Alesta Web olarak bu container escape vulnerability rehberinde sorunu ve çözümünü detaylıca anlatıyoruz.

runC ve Container Güvenliği Nedir? (What is runC and Container Security?)

Önce temel kavramları açıklayalım. runC, Open Container Initiative (OCI) tarafından geliştirilen düşük seviyeli bir container runtime. Basitçe söylemek gerekirse, Docker'ın, Kubernetes'in ve bulut tabanlı managed container servislerinin "motoru" gibi düşünebilirsiniz. Container'ları gerçekten başlatan ve yöneten yazılım runC.

İşte tam da bu yüzden runC'deki bir güvenlik açığı (security vulnerability) bu kadar tehlikeli. runC zayıfsa, üzerinde çalışan Docker, Kubernetes ve tüm container ekosistemi risk altında demek. Alesta Web ekibi olarak müşterilerimizin altyapılarında bu tür zafiyetlerle sıkça karşılaşıyoruz.

⚠️ Kritik Uyarı / Critical Warning:

Bu güvenlik açıkları (security vulnerabilities) 5 Kasım 2025'te SUSE güvenlik araştırmacıları tarafından açıklandı. Hemen yamalamanız gerekmektedir (immediate patching required)! Saldırganlar bu açıklarla container'dan host sisteme erişebilir (container escape to host).

CVE Detayları ve Teknik Analiz (CVE Details and Technical Analysis)

CVE-2025-31133: Masked Path Kötüye Kullanımı (Masked Path Abuse)

Bu zafiyet, runC'nin "masked paths" mekanizmasını hedef alıyor. Normalde container içindeki bazı hassas dizinler (mesela /proc altındaki dosyalar) maskelenerek erişime kapatılır. Ama burada bir saldırgan /dev/null'u bir sembolik link (symlink) ile değiştirerek, runC'nin hassas procfs dosyalarını read-write olarak bağlamasını (mount) sağlıyor.

Saldırı Senaryosu / Attack Scenario

# Saldırgan container içinde şunu yapıyor:
# Attacker inside container does:

# /dev/null -> /proc/sys/kernel/core_pattern symlink
# Bu sayede host'un core_pattern dosyasına yazma erişimi elde ediyor
# This gives write access to host's core_pattern file

# Sonuç: Container escape + Host üzerinde root yetki
# Result: Container escape + Root privileges on host

CVE-2025-52565: /dev/console Mount Race Condition

Bu ikinci zafiyet ise bir yarış koşulu (race condition) üzerine kurulu. /dev/console bind mount işlemi sırasında, güvenlik korumaları tam olarak devreye girmeden önce saldırgan bir symlink oluşturabiliyor. Yani container'ın güvenlik duvarı kapanmadan içeri girilmiş oluyor.

CVE-2025-52881: Mount Manipülasyonu (Mount Manipulation)

Üçüncü zafiyet de yine mount manipülasyonu ve sembolik link kötüye kullanımıyla container izolasyonunu kırıyor (breaks container isolation). Her üç CVE de birlikte kullanıldığında tam bir container escape saldırısı gerçekleştirilebilir.

Zafiyet Özeti Tablosu / Vulnerability Summary Table

CVE ID Tür / Type Şiddet / Severity
CVE-2025-31133 Masked Path Abuse Yüksek (High)
CVE-2025-52565 Race Condition Yüksek (High)
CVE-2025-52881 Mount Manipulation Yüksek (High)

Etkilenen Sistemler (Affected Systems)

Bu güvenlik açıkları (security vulnerabilities) neredeyse tüm runC sürümlerini etkiliyor. Alesta Web olarak kontrol etmeniz gereken sistemler:

  • Docker - Tüm sürümler (runC tabanlı)
  • Kubernetes - containerd veya CRI-O kullanan tüm kümeler (clusters)
  • AWS ECS/EKS - Amazon managed container servisleri
  • Google GKE - Google Kubernetes Engine
  • Azure AKS - Azure Kubernetes Service
  • Podman - runC tabanlı container runtime

runC Versiyon Kontrolü / Check runC Version

# Docker üzerinde runC versiyonunu kontrol et
# Check runC version on Docker
docker info | grep runc

# Direkt runC versiyonu
# Direct runC version
runc --version

# Kubernetes node'larında kontrol
# Check on Kubernetes nodes
kubectl get nodes -o wide
ssh node1 "runc --version"

Çözüm ve Yama Rehberi (Fix and Patch Guide)

Hadi gelelim asıl önemli kısma: bu açıkları nasıl kapatacağız? Alesta Web güvenlik ekibi olarak şu adımları izlemenizi öneriyoruz:

Adım 1: runC'yi Güncelle (Step 1: Update runC)

# Ubuntu/Debian sistemlerde
# On Ubuntu/Debian systems
sudo apt update
sudo apt install --only-upgrade runc

# CentOS/RHEL sistemlerde
# On CentOS/RHEL systems
sudo yum update runc

# Yamalı sürümler / Patched versions:
# runC 1.2.8
# runC 1.3.3
# runC 1.4.0-rc.3 veya üzeri

Adım 2: Docker'ı Güncelle (Step 2: Update Docker)

# Docker Engine güncelleme
# Update Docker Engine
sudo apt update
sudo apt install --only-upgrade docker-ce docker-ce-cli containerd.io

# Docker versiyonunu doğrula
# Verify Docker version
docker version
docker info | grep runc

Adım 3: Kubernetes Güncelleme (Step 3: Kubernetes Update)

# containerd güncelleme
# Update containerd
sudo apt install --only-upgrade containerd.io

# kubelet yeniden başlat
# Restart kubelet
sudo systemctl restart kubelet

# Node durumunu kontrol et
# Check node status
kubectl get nodes
✅ Doğrulama / Verification:

Güncelleme sonrası runc --version komutunun 1.2.8, 1.3.3 veya 1.4.0-rc.3+ gösterdiğinden emin olun (make sure the version shows 1.2.8, 1.3.3, or 1.4.0-rc.3+).

Önlem Stratejileri (Mitigation Strategies)

Hemen yama yapamıyorsanız, Alesta Web olarak şu geçici önlemleri öneriyoruz:

User Namespace Kullanımı (Use User Namespaces)

Container'larınızı user namespace ile çalıştırmak, bu saldırıların çoğunun en tehlikeli yönlerini engeller (blocks most serious aspects of these attacks). Host root kullanıcısı container'ın user namespace'ine eşlenmediğinde, saldırgan procfs dosyalarına erişemez.

User Namespace Etkinleştirme / Enable User Namespaces

# Docker'da user namespace etkinleştir
# Enable user namespaces in Docker
sudo dockerd --userns-remap=default

# Veya daemon.json dosyasına ekle
# Or add to daemon.json
{
  "userns-remap": "default"
}

Ek Güvenlik Katmanları (Additional Security Layers)

  • AppArmor/SELinux profilleri kullanın (use security profiles)
  • Seccomp filtreleri uygulayın (apply seccomp filters)
  • Read-only rootfs ile container'ları çalıştırın (run containers with read-only rootfs)
  • Privileged container kullanmaktan kaçının (avoid privileged containers)

? Kaynaklar ve Referanslar / Sources and References

Bu makalede kullanılan bilgiler aşağıdaki güvenilir kaynaklardan derlenmiştir (information compiled from the following reliable sources):

Alesta Web olarak tüm bilgileri doğruladık ve test ettik (we verified and tested all information).

✅ Güvenlik Açıkları Kapatıldı! (Security Vulnerabilities Patched!)

runC container escape güvenlik açıkları (security vulnerabilities) ciddi bir tehdit oluştursa da, doğru yamalar ve önlemlerle sisteminizi koruyabilirsiniz. Alesta Web olarak güvenlik konusunda her zaman proaktif olmayı öneriyoruz.

Hızlı Özet / Quick Summary:

  • ✅ runC 1.2.8+ sürümüne güncellendi (updated to runC 1.2.8+)
  • ✅ Docker ve containerd yamalandı (Docker and containerd patched)
  • ✅ User namespaces etkinleştirildi (user namespaces enabled)
  • ✅ Güvenlik profilleri uygulandı (security profiles applied)

Faydalı Linkler / Useful Links:

© 2026 AlestaWeb - Tüm hakları saklıdır.

WM Tools
💫

WebMaster Tools

15 Profesyonel Araç