İçeriğe geç

Güvensiz serisizleştirme (ARCH2109)

Anahtar python.security.insecure-deserialization · Önem critical · Kategori security · CWE CWE-502

pickle ve yaml.load gibi araçlar serisizleştirme sırasında isteğe bağlı nesne ve kod oluşturabilir. Güvenilmez veriyi bunlarla açmak klasik bir uzaktan kod çalıştırma (RCE) vektörüdür.

import pickle
def load(request):
return pickle.loads(request.body)
import json
def load(request):
return json.loads(request.body)

Güvenilmez veri için pickle/yaml.load yerine JSON gibi veri-yalnızca formatlar veya yaml.safe_load kullanın.