EST V-Pos COM objesi, heap-overflow açığı

EST V-Pos COM objesi (epayapi.dll ver.1.0.0.9) , heap-overflow açığı bulundu.
Bu açık ile heap üzerinde bir sonraki modülün virtual function pointer tablosunun değerlerini değiştirilip ve COM objesini çalıştıran sitenin kullanıcı bağlamında yabancı kod çalıştırılabiliyor. 
Yayınlanma Tarihi: 6 Kasım 2005
Durum: Üretici firma ile 9 Ekim 2005 tarihinde irtibata geçilmiş ve açık bildirilmiştir.
Bulan: www.srlabs.net

Türkiyedeki bir çok bankanın v-pos altyapısı olarak hizmete sunduğu epayapi.dll dosyasının 1.0.0.9 versiyonunda varolan heap-overlow açığı suistimal edilerek yabancı kod çalıştırılabiliyor.

epayapi.dll dosyası içerisinde kullanıcılardan alınan kredi kartı numarası, kredi kartı son kullanım tarihi, cvc2 kodu gibi parametreler uzunluk kontrolü yapılmadan işlenmektedir.

Aynı zamanda processorder methodunda heap üzerinde sabit büyüklükte hafıza alanı ayrılmakta ve girilen bilgilerin xml formatına çevrilmesi esnasında kullanılmaktadır.

Bu hafıza alanları processorder fonksiyonu sonucunda "free" edilerek temizlenmemekte ve hafıza sızıntısı oluşmaktadır. Ancak IIS'in kontrolü dahilinde hafıza bakımı yapılırken hafızadan silinmektedir.

Kötü niyetli kullanıcılar bu hafıza alanına sabit değerinden daha fazla veriyi kısa zaman aralıkları ile göndererek heap üzerinde bir sonraki modülün virtual function pointer tablosunun değerlerini değiştirebilir ve COM objesini çalıştıran sitenin kullanıcı bağlamında yabancı kod çalıştırabilirler.

epayapi.dll dosyasının bu versiyonunu kullanan kullanıcıların vakit kaybetmeden yeni sürümünü kullanmaları ve gerekli tüm formlarda parametrelerin uzunluk kontrollerini yapmaları önerilir.

Link: http://www.srlabs.net/

0