---
title: "Firecracker VM Kaçışı: PwnEscape Bölüm 2"
url: https://blog.edumints.com/firecracker-vm-kacisi-pwnescape-bolum-2
category: "Güvenlik"
date: 2026-11-07T09:05:46.353Z
publisher: Edumints Blog
lang: tr-TR
source_name: "Hacker News"
source_url: https://pwn.ai/blog/firecracker-escape
---

# Firecracker VM Kaçışı: PwnEscape Bölüm 2

**Firecracker**, güvenilmeyen kodları bir **microVM** içinde izole etmek için tasarlanmış bir teknolojidir. Ancak **PWN Research** ekibinden Paulos Yibelo tarafından yürütülen bu çalışmada (CVE-2026-99999), bu izolasyon aşılarak ana makinede (host) **root** yetkileriyle kod çalıştırma başarısı elde edildi. PwnEscape Bölüm 1'de tanıtılan ana makine bellek erişim ilkelini (host memory primitive) temel alan bu bölüm, misafir (guest) sistemin içinden Firecracker sürecini bellekte bulmayı ve canlı bir iş parçacığını (thread) ele geçirmeyi adım adım inceliyor. Üstelik geçici yığın (stack) değişiklikleri geri yüklenerek Firecracker'ın çalışmaya devam etmesi ve sanal makinenin SSH üzerinden erişilebilir kalması sağlandı.

## 00 / Kontrolün Ele Geçirileceği Noktayı Seçmek

Bir Firecracker microVM, ana makinede kendisini yöneten bir sürece sahiptir. Her sanal CPU (**vCPU**), bu süreç içinde bir iş parçacığına karşılık gelir. İş parçacığı, misafir sistemi çalıştırmak için **KVM**'ye girer ve kullanıcı alanında (userspace) işlenmesi gereken bir olay olduğunda Firecracker'a geri döner. Sanal CPU'yu çalıştıran sistem çağrısı şu şekildedir:

`ioctl(vcpu_fd, KVM_RUN, 0);`

İş parçacığı bu sistem çağrısı içindeyken, ana makine çekirdeği (host kernel) kullanıcı alanı yazmaçlarını (registers) **pt_regs** adlı bir yapıda saklar. Bu yapı, yürütmenin nerede devam edeceğini belirten komut işaretçisini (instruction pointer) ve hangi kullanıcı alanı yığınının kullanılacağını gösteren yığın işaretçisini (stack pointer) barındırır.

Bu durum, `KVM_RUN` çağrısından dönüş noktasını oldukça cazip bir hedef haline getirir:
- Kaydedilmiş çerçeve (saved frame) bulunup değiştirilebilirse, iş parçacığı kullanıcı alanına döndüğünde Firecracker'ın çalıştıracağı kod seçilebilir.
- Böyle bir dönüşe neden olan herhangi bir misafir işlemi, tetikleyici (trigger) görevi görür.
- Mevcut fiziksel bellek erişimini kullanmak için Firecracker sürecini tanımlamak, süreç içinde çağrılabilecek kodu bulmak ve aktif vCPU iş parçacığına ait yazmaç çerçevesini tespit etmek gerekir. Başlangıç noktası olarak misafir içinde kontrol edilen bir bellek sayfası seçilmiştir.

**Pratik Çıkarımlar:** Sanallaştırma ve konteyner güvenliğinde çekirdek ile kullanıcı alanı arasındaki geçiş sınırları (context switch) en kritik saldırı yüzeyleridir. Sistem mimarisi tasarlarken yalnızca misafir izolasyonuna güvenmek yerine, ana makinedeki yönetim süreçlerinin bellek bütünlüğünü ve sistem çağrısı dönüşlerini koruyacak ek savunma katmanları uygulanmalıdır.

## 01 / Misafir Sayfamızı Ana Makinede Bulmak

Misafir ve ana makine farklı fiziksel adres alanları kullanır. Bir bellek sayfası sanal makine içinde **Misafir Fiziksel Adresi (GPA)**, arka plandaki fiziksel makinede ise **Ana Makine Fiziksel Adresi (HPA)** ile tanımlanır. Hedef sistemde bu iki adres arasındaki çevrimi **Genişletilmiş Sayfa Tabloları (EPT - Extended Page Tables)** sağlar.

Çevrimi doğrulamak için şu adımlar izlenmiştir:
- Misafir içindeki bir bellek sayfasına tanınabilir bir bayt dizisi (**nonce**) yerleştirildi.
- İlk çözücü (resolver), sayfanın bilinen GPA'sını ve içeriğini girdi olarak aldı.
- Bellek erişim ilkelinin kapsadığı fiziksel aralıklarda aday **EPT kökleri (EPT roots)** arandı.
- Her aday için misafir adresinin seçtiği girdiler takip edilerek fiziksel bir sayfaya ulaşıldı ve bu sayfada `nonce` değerinin olup olmadığı (`contents == nonce`) kontrol edildi.

**Pratik Çıkarımlar:** Düşük seviyeli sistem geliştirmelerinde ve güvenlik araştırmalarında bellek soyutlama katmanlarının (GPA ve HPA gibi) nasıl eşleştiğini anlamak kritik önem taşır. Bellek sızıntısı veya yetkisiz erişim açıklarında, saldırganlar bilinen bir veri desenini (`nonce`) belleğe yazarak karmaşık adres uzaylarında kendi konumlarını doğrulayabilirler.



---

Bu konuyu derinlemesine öğrenmek isterseniz: [Güvenli Model Registry ve Container Güvenliği](https://edumints.com/kesfet/ai-altyapi-guvenligi-model-supply-chain-ve-artifac-ja5f) modülüne göz atın.

---

**Kaynak:** Hacker News (https://pwn.ai/blog/firecracker-escape)
**Yayıncı:** [Edumints Blog](https://blog.edumints.com) · Alıntılarken bu URL'ye bağlantı verin: https://blog.edumints.com/firecracker-vm-kacisi-pwnescape-bolum-2
