JWT Doğrulaması Yok (ARCH5126)
Anahtar go.security.jwt-no-validation · Önem error · Kategori security · CWE CWE-347
JWT’yi imza doğrulaması yapmadan çözmek (ParseUnverified veya alg: none kabulü), saldırganın talepleri serbestçe değiştirmesine olanak tanır. İmza her zaman doğrulanmalıdır.
Hatalı
Bölüm başlığı “Hatalı”token, _, _ := new(jwt.Parser).ParseUnverified( tokenString, jwt.MapClaims{})claims := token.Claims.(jwt.MapClaims)token, err := jwt.Parse(tokenString, func(t *jwt.Token) (any, error) { if _, ok := t.Method.(*jwt.SigningMethodHMAC); !ok { return nil, errors.New("unexpected alg") } return signingKey, nil})Düzeltme
Bölüm başlığı “Düzeltme”Parse ile imzayı doğrulayın ve beklenen imzalama algoritmasını açıkça kontrol edin.