Platform: Topluyo
Zafiyet Türü: Race Condition / Business Logic Flaw
Etki Seviyesi: Kritik
Özet
Topluyo platformunda turbo gönderme işlemi sırasında, eşzamanlı (paralel) istekler doğru şekilde
senkronize edilmediği için, kullanıcının göndermesine izin verilen turbo miktarından daha fazlası
gönderilebilmektedir. Bu durum, işlem bütünlüğünün bozulmasına ve dijital değerlerin
çoğaltılmasına yol açmaktadır.
Zafiyetin Tanımı
Turbo gönderme işlemi başlatıldığında, istemci tarafından gönderilen paketler eşzamanlı olarak
işlenebilmekte ve bu sırada:
• Mevcut bakiye kontrolü
• Gönderim limiti kontrolü
• İşlemin tekilliği (atomicity)
yeterli şekilde korunmamaktadır.
Sonuç olarak, aynı işlem bağlamında paralel grup gönderimleri tetiklendiğinde, sistem bu
istekleri birbirinden bağımsız değerlendirerek toplamda izin verilenden fazla turbo transferine
izin vermektedir.
Bu durum klasik bir race condition ve iş mantığı (business logic) zafiyeti örneğidir.
Etki (Risk)
Bu zafiyet aşağıdaki riskleri doğurmaktadır:
• Dijital değerlerin (turbo) çoğaltılması
• Bakiye ve işlem kayıtlarında tutarsızlık
• Platform ekonomisinin bozulması
• Haksız avantaj elde edilmesi
• Güven kaybı ve olası maddi zarar
Bu tür bir açık, kötü niyetli bir kullanıcı tarafından otomatikleştirilerek sistematik suistimale
açıktır.Etkilenen İşlev
• Turbo gönderme (transfer) işlemi
• Eşzamanlı gönderimlerin işlendiği backend mantığı
Teknik Sınıflandırma
• Race Condition
• Broken Transaction Integrity
• Business Logic Vulnerability
• OWASP Top 10:
• A01 – Broken Access Control
• A04 – Insecure Design
Kanıt (PoC – Yüksek Seviye)
İzinli test kapsamında, turbo gönderme işlemi sırasında eşzamanlı/paralel gönderim taleplerinin
oluşturulması sonucunda, sistemin tek bir işlem için tanımlı sınırın üzerinde turbo transferini kabul
ettiği gözlemlenmiştir.
Not: PoC, yalnızca zafiyetin varlığını gösterecek minimum etkiyle gerçekleştirilmiştir.
Önerilen Çözüm
Zafiyetin giderilmesi için aşağıdaki önlemler önerilir:
1. Sunucu tarafında atomik işlem (transaction) kullanımı
2. Turbo gönderme işlemleri için kilitleme (locking) mekanizması
3. Idempotency key veya tekil işlem kimliği kullanımı
4. Bakiye ve limit kontrollerinin tek noktadan ve senkron yapılması
5. Aynı kullanıcıdan gelen paralel isteklerin sıralı (queue) işlenmesi
Sonuç
Bu zafiyet, istemci tarafında herhangi bir yetki yükseltme gerektirmeden, yalnızca işlem
zamanlamasındaki boşluklardan faydalanılarak kritik seviyede etki yaratabilmektedir. Platformun
finansal/ödül sistemini doğrudan etkilediği için acil olarak ele alınması önerilir.
Race Condition / Business Logic Flaw Zafiyet Raporu
Bu araştırma için PDF eklenmemiş.