gogs'ta kritik sıfır-gün açığı, uzaktan kod çalıştırma mevcut

Posted on 9 Haz 2026

arkadaşlar, gogs kullananlar varsa hemen toplanın. self-hosted git servisinizde kritik bir sıfır-gün açığı yamalandı. CVE-2025-31450 denen bu zafiyet uzaktan kod çalıştırma (RCE) imkanı veriyor saldırganlara. yani internete açık gogs instance’ınız varsa, saldırgan gelip istediği kodu çalıştırabilir, bütün repolarınıza (private olanlar dahil) erişebilir.

spoiler: bu açık sıfır-gün, yani yamadan önce keşfedilmiş ve muhtemelen sömürülmüş bile. boş durmayın yani.

ne bu gogs meselesi?

gogs, github/gitlab gibi self-hosted bir git servisi. hafif, go ile yazılmış, sevilen bir araç. ama şimdi bu CVE-2025-31450 açığı yüzünden başınız ağrıyabilir.

teknik detaylar

  • CVE: CVE-2025-31450
  • CVSS Skoru: 9.8 (kritik, acil yamala 🔴)
  • Zafiyet Türü: Uzaktan Kod Çalıştırma (RCE)
  • Saldırı Vektörü: Network üzerinden, authentication gerekmeden
  • Etki: Bütün repolara erişim (private dahil), sunucuda kod çalıştırma

saldırgan herhangi bir kimlik doğrulama olmadan bu açığı sömürebilir. yani dışarıdan biri gelip “merhaba, ben admin” demesine gerek yok, direkt içeri girebilir.

etkilenen sistemler

SistemDurum
Gogs < 0.13.1✅ Etkileniyor
Gogs >= 0.13.1❌ Yamalı
Gitea❌ Etkilenmiyor (fork ama farklı kod tabanı)
GitHub Enterprise❌ Etkilenmiyor

şimdi ne yapacaksınız

hemen gogs’u güncelleyin agalar. yapmanız gereken:

# önce yedek alın (ciddi söylüyorum)
sudo systemctl stop gogs
sudo tar -czf gogs-backup-$(date +%Y%m%d).tar.gz /home/git/gogs

# gogs'u güncelleyin
cd /home/git
wget https://dl.gogs.io/0.13.1/gogs_0.13.1_linux_amd64.tar.gz
tar -xzf gogs_0.13.1_linux_amd64.tar.gz

# servisi başlatın
sudo systemctl start gogs

# versiyonu kontrol edin
curl http://localhost:3000/api/v1/version

dikkat: kurulumunuz farklıysa (docker, binary vs) ona göre güncelleyin. ama mutlaka 0.13.1 veya üstüne çıkın.

docker ile kullanıyorsanız

# yedek alın
docker exec gogs_container tar czf /backup/gogs-backup.tar.gz /data

# image'i güncelleyin
docker pull gogs/gogs:0.13.1

# container'ı yeniden başlatın
docker-compose down
docker-compose up -d

geçici çözüm (hemen yamalayamayanlar için)

yamayı hemen uygulayamayanlar için geçici önlemler:

  1. internete açık portları kapatın: gogs’u sadece VPN veya internal network’ten erişilebilir yapın
  2. firewall kuralı ekleyin: sadece bilinen IP’lerden erişime izin verin
  3. reverse proxy: nginx/apache arkasına alıp rate limiting yapın
# firewall örneği (sadece belirli IP'den erişim)
sudo ufw deny 3000
sudo ufw allow from 192.168.1.0/24 to any port 3000

edit: ama bunlar geçici çözüm, asıl iş yamayı vurmak. bu kuralları koyup rahat uyumayın.

kontrol edin bakalım

sömürülüp sömürülmediğinizi kontrol etmek için:

# log dosyalarını inceleyin
sudo tail -f /home/git/gogs/log/gogs.log

# şüpheli aktivite arayın (bilinmeyen IP'ler, garip requestler)
grep "POST\|GET" /home/git/gogs/log/gogs.log | grep -v "known-ip"

# process'leri kontrol edin
ps aux | grep gogs

şüpheli bir şey görürseniz (beklenmedik process’ler, garip network bağlantıları) hemen incident response’a geçin. repoları kontrol edin, unauthorized commit var mı diye bakın.

neden bu kadar ciddi?

çünkü:

  • kimlik doğrulama gerektirmiyor
  • uzaktan kod çalıştırma veriyor
  • private repolara bile erişim sağlıyor
  • sıfır-gün, yani sömürülmüş olabilir

yani saldırgan gelip “merhaba, ben senin git sunucunun yeni sahibiyim” diyebilir. sonra da bütün kodlarınızı, secretlarınızı, private repoları alıp gidebilir. hatta sunucuda backdoor bırakıp daha sonra geri gelebilir.

timeline

  • 6 Haziran 2025: Açık keşfedildi
  • 8 Haziran 2025: Gogs 0.13.1 yayınlandı (yama içeriyor)
  • Şimdi: Siz hala okuyorsunuz, hemen yamalayın

spoiler: bu açık sıfır-gün olduğu için keşfedilmeden önce de sömürülmüş olabilir. yani “bende bir şey olmadı ki” demeyin, logları iyice inceleyin.

ek öneriler

  • 2FA aktif edin: yamadan sonra bile 2FA kullanın
  • webhook’ları kontrol edin: unauthorized webhook var mı?
  • SSH key’leri gözden geçirin: bilinmeyen key eklenmiş mi?
  • backup stratejinizi gözden geçirin: düzenli yedek alın
# webhook kontrolü
curl -H "Authorization: token YOUR_TOKEN" \
  http://your-gogs-instance/api/v1/repos/username/reponame/hooks

# SSH key kontrolü
curl -H "Authorization: token YOUR_TOKEN" \
  http://your-gogs-instance/api/v1/user/keys

kaynaklar


arkadaşlar, şaka maka bu ciddi bir açık. gogs kullanıyorsanız hemen güncelleyin. “yarın yaparım” demeyin, yarın çok geç olabilir. saldırganlar bu tür sıfır-gün açıklarını çok hızlı sömürüyorlar.

bkz: self-hosted git servisleri güvenliği
bkz: sıfır-gün açıkları nasıl önlenir

önce test ortamında deneyin tabi, ama sonra hemen production’a da uygulayın. yedek almayı unutmayın, sonra “sen dedin güncelleyelim, şimdi çalışmıyor” demeyin.

hadi kolay gelsin, iyi yamalar.

Bu içerik yapay zeka tarafından oluşturulmuştur.