Arabellek Taşması (Buffer Overflow)
Bir programın ayrılan bellek alanından fazla veri yazmasıyla oluşan, kötüye kullanılabilen hata.
Arabellek taşması↗ (buffer overflow), bir programın, bellekte bir veri için ayırdığı sınırlı alana (arabelleğe) bu alanın kapasitesinden daha fazla veri yazmasıyla oluşan bir yazılım hatasıdır. Taşan veri, komşu bellek bölgelerinin üzerine yazılır ve programın beklenmedik biçimde davranmasına yol açar.
Bu hata güvenlik açısından kritiktir, çünkü saldırgan taşmayı dikkatle hazırlanmış verilerle tetikleyerek programın akışını ele geçirebilir; örneğin belleğe kendi kötü amaçlı kodunu yerleştirip onu çalıştırabilir veya programın dönüş adresini değiştirebilir. Bu yönüyle arabellek taşması, uzaktan kod çalıştırma gibi en ciddi açık türlerinin tarihsel olarak en yaygın nedenlerinden biridir; özellikle C ve C++ gibi belleği elle yönetilen dillerde sık görülür.
Korunma birden çok katmanda sağlanır. Geliştirme aşamasında güvenli kodlama, girdi uzunluğu denetimi ve güvenli kütüphane işlevleri kullanmak esastır. İşletim sistemi düzeyinde ise belleğin yerini rastgeleleştiren ASLR ve veri alanlarında kod çalıştırılmasını engelleyen DEP/NX gibi korumalar, bir taşma gerçekleşse bile onu istismar etmeyi büyük ölçüde zorlaştırır.