Güvensiz Seri Durumdan Çıkarma (ARCH5109)
Anahtar go.security.insecure-deserialization · Önem critical · Kategori security · CWE CWE-502
encoding/gob gibi tip bilgisi taşıyan seri çözücülere güvenilmeyen veri beslemek, saldırganın beklenmedik tipler enjekte etmesine ve klasik bir uzaktan kod çalıştırma vektörü oluşturmasına olanak tanır.
Hatalı
Bölüm başlığı “Hatalı”dec := gob.NewDecoder(r.Body)var obj interface{}dec.Decode(&obj) // güvenilmeyen istek gövdesidec := json.NewDecoder(r.Body)var req CreateUserRequest // sıkı, beklenen tipif err := dec.Decode(&req); err != nil { http.Error(w, "bad request", 400) return}Düzeltme
Bölüm başlığı “Düzeltme”Güvenilmeyen girdiyi yalnızca veri taşıyan JSON gibi formatlarda, açıkça tanımlanmış sıkı tiplere çözün.