Doğrulanmayan JWT (ARCH4126)
Anahtar java.security.jwt-no-validation · Önem error · Kategori security · CWE CWE-347
İmza doğrulaması yapmadan bir JWT’nin gövdesini çözmek (örn. yalnızca payload’ı parse etmek), saldırganların sahte token üretmesine ve kimlik doğrulamayı atlamasına olanak tanır. Token’ı her zaman imza ve talep kontrolüyle doğrulayın.
Hatalı
Bölüm başlığı “Hatalı”String[] parts = token.split("\\.");String payload = new String(Base64.getUrlDecoder().decode(parts[1]));Claims claims = mapper.readValue(payload, Claims.class); // imza doğrulanmadıClaims claims = Jwts.parserBuilder() .setSigningKey(publicKey) .build() .parseClaimsJws(token) // imza ve süre doğrulanır .getBody();Düzeltme
Bölüm başlığı “Düzeltme”JWT’yi imza anahtarıyla doğrulayan bir parser kullanın; payload’ı doğrulamadan çözmeyin.