CVE-2019-16255: Shell#[] ve Shell#test'in bir kod enjeksiyonu güvenlik açığı

Bir standart kütüphanede (lib/shell.rb) Shell#[] ve Shell#test’te bir kod enjeksiyonu güvenlik açığı bulundu. Güvenlik açığı CVE belirteci CVE-2019-16255‘e atandı.

Ayrıntılar

lib/shell.rb’de tanımlı olan Shell#[] ve takma adı Shell#test, eğer ilk argüman (yani “command” argümanı) güvenilmeyen bir veriyse, kod enjeksiyonuna izin veriyor. Bir saldırgan, keyfi bir Ruby metodunu çağırmak için bunu kullanabilir.

Shell’in metodlarına güvenilmeyen veriler geçirmek her zaman tehlikelidir. Kullanıcılar bunu asla yapmamalıdır. Fakat biz bu duruma bir güvenlik açığı olarak baktık çünkü Shell#[] ve Shell#test’in amacı dosya test etmek olarak düşünülür.

Etkilenen sürümlerden birini koşan tüm kullanıcılar acilen yükseltme yapmalıdır.

Etkilenen Sürümler

  • Ruby 2.3 ve öncesindeki tüm sürümler
  • Ruby 2.4 serisi: Ruby 2.4.7 ve öncesi
  • Ruby 2.5 serisi: Ruby 2.5.6 ve öncesi
  • Ruby 2.6 serisi: Ruby 2.6.4 ve öncesi
  • Ruby 2.7.0-preview1

Teşekkür

Bu güvenlik açığını keşfettiği için ooooooo_q‘ya teşekkür ederiz.

Geçmiş

  • İlk olarak 2019-10-01 11:00:00 (UTC) tarihinde yayınlandı.
  • Küçük bir yazım hatası 2019-10-05 12:00:00 (UTC) tarihinde düzeltildi.