laravel-lang paketleri hacklenmiş, şifre çalıyor

Posted on 23 May 2026

arkadaşlar, php dünyasında ciddi bir olay var. laravel-lang’e ait birkaç paket hacklenmiş ve içine şifre çalan bir framework yerleştirilmiş. ciddi ciddi hemen kontrol edin projelerinizi.

ne olmuş peki

laravel-lang organizasyonuna ait 4 tane popüler php paketi tehlikeye girmiş:

  • laravel-lang/lang
  • laravel-lang/http-statuses
  • laravel-lang/attributes
  • laravel-lang/actions

siber güvenlik araştırmacıları, bu paketlere yeni yayınlanan tag’lerde zararlı kod bulmuşlar. klasik supply chain saldırısı yani, güvendiğiniz pakete kötü kod yerleştirip sizi vurmak.

spoiler: bu paketler laravel topluluğunda oldukça yaygın kullanılıyor, yani etki alanı geniş.

zararlı kod ne yapıyor

içine yerleştirilen şey tam teşekküllü bir credential stealer framework’ü. yani şöyle:

  • cross-platform çalışıyor: windows, linux, macos fark etmiyor
  • kimlik bilgilerini topluyor: tarayıcı şifreleri, oturum bilgileri, çerezler
  • session token’ları çalıyor: aktif oturumlarınızı ele geçirebilir
  • ftp/ssh bilgilerini topluyormuş: sunucu erişim bilgileriniz de tehlikede

kısacası, bu paketleri yükleyen sistemlerde ne varsa süpürüyor.

etkilenen sistemler

SistemDurum
Laravel projeleri (etkilenen paketleri kullanan)🔴 Kritik risk
PHP uygulamaları (composer ile yüklenenler)🔴 Yüksek risk
Development ortamları🔴 Yüksek risk
Production sunucuları🔴 Kritik risk

hemen yapmanız gerekenler

agalar, şimdi panik yapmayın ama hızlı hareket edin:

1. önce kontrol edin

# composer.lock dosyanızı kontrol edin
cat composer.lock | grep -A 5 "laravel-lang"

# hangi versiyonları kullanıyorsunuz bakın
composer show laravel-lang/lang
composer show laravel-lang/http-statuses
composer show laravel-lang/attributes
composer show laravel-lang/actions

2. şüpheli tag’leri temizleyin

# önce yedek alın (bunu atlamayın!)
cp composer.lock composer.lock.backup

# paketleri kaldırın
composer remove laravel-lang/lang
composer remove laravel-lang/http-statuses
composer remove laravel-lang/attributes
composer remove laravel-lang/actions

# cache'i temizleyin
composer clear-cache

3. sistem taraması yapın

# process'leri kontrol edin
ps aux | grep -i php
ps aux | grep -i laravel

# şüpheli network bağlantılarına bakın
netstat -tulpn | grep ESTABLISHED

# son değiştirilen dosyalara bakın
find /var/www -type f -mtime -7 -ls

4. kimlik bilgilerini değiştirin

dikkat: eğer bu paketleri kullanıyorsanız, şunları yapın:

  • tüm database şifrelerini değiştirin
  • api key’leri rotate edin
  • ssh key’leri yenileyin
  • tarayıcı oturumlarını kapatın
  • 2fa token’larını resetleyin
  • ftp/sftp şifrelerini değiştirin

5. log’ları inceleyin

# apache/nginx access log'larına bakın
tail -f /var/log/apache2/access.log
tail -f /var/log/nginx/access.log

# php error log'larını kontrol edin
tail -f /var/log/php/error.log

# şüpheli outbound bağlantılar var mı
grep -r "curl\|file_get_contents\|exec" /var/www/html/vendor/laravel-lang/

geçici çözümler

yamayı/temizliği hemen yapamıyorsanız:

ağ seviyesi:

# şüpheli outbound trafiği engelleyin
iptables -A OUTPUT -p tcp --dport 443 -m owner --uid-owner www-data -j LOG --log-prefix "PHP-OUTBOUND: "
iptables -A OUTPUT -p tcp --dport 80 -m owner --uid-owner www-data -j LOG --log-prefix "PHP-OUTBOUND: "

uygulama seviyesi:

  • composer.lock’u manuel olarak düzenleyip eski güvenli versiyonlara pin’leyin
  • vendor klasörünü read-only yapın geçici olarak
  • php disable_functions direktifini sıkılaştırın
# php.ini'ye ekleyin
disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec

edit: laravel-lang maintainer’ları durumdan haberdar ve temizlik yapıyorlar. resmi açıklamalarını bekleyin.

timeline nasıl gelişmiş

araştırmacılar şunu söylüyor: “yeni yayınlanan tag’lerin timing’i ve pattern’i şüpheli.” yani:

  1. saldırgan önce laravel-lang hesaplarına erişim sağlamış
  2. sonra meşru gibi görünen yeni tag’ler yayınlamış
  3. composer üzerinden otomatik güncellemelerde bu zararlı versiyonlar inmiş
  4. zararlı kod sessizce credential’ları toplamaya başlamış

klasik supply chain attack senaryosu işte.

kimler etkilendi

eğer şu paketlerden birini kullanıyorsanız mutlaka kontrol edin:

  • laravel uygulamaları (özellikle çoklu dil desteği olanlar)
  • bu paketlere bağımlı diğer kütüphaneler
  • development makineleri (composer install yapan herkes)
  • ci/cd pipeline’ları
  • production sunucuları

spoiler: bu paketler laravel ekosisteminde oldukça popüler, binlerce proje kullanıyor olabilir.

önümüzdeki günlerde yapılacaklar

  • packagist.org bildirimi yapın (maintainer’lar yapıyordur ama siz de yapın)
  • github’da issue açın
  • kendi projelerinizde dependency scanning aktif edin
  • composer audit komutunu düzenli çalıştırın
  • security mailing list’lerine abone olun
# composer audit kullanın (composer 2.4+)
composer audit

# veya symfony security checker
symfony security:check

kaynak ve referanslar

bkz: supply chain attacks, composer security, php package security


önemli hatırlatmalar:

  1. yedek almadan hiçbir işlem yapmayın
  2. önce test ortamında deneyin, sonra production’a geçin
  3. log’ları mutlaka saklayın, forensic analiz gerekebilir
  4. incident response planınızı aktive edin
  5. müşterilerinizi/kullanıcılarınızı bilgilendirin

agalar, bu iş ciddiye alınması gereken bir olay. laravel kullanan herkes hemen kontrol etsin projelerini. sorularınız olursa community’de paylaşın, birbirimize yardımcı olalım.

dikkat: bu tür supply chain attack’ler son zamanlarda artıyor. dependency’lerinizi düzenli audit edin, lock file’ları commit edin, ve mümkünse private registry kullanın kritik projeler için.

şimdilik bu kadar, herkese kolay gelsin. umarım projeleriniz temizdir.

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