JWT doğrulaması yok (ARCH3126)
Anahtar typescript.security.jwt-no-validation · Önem error · Kategori security · CWE CWE-347
JWT’yi imza doğrulaması yapmadan çözmek (decode, verify=false, alg: none) saldırganların token içeriğini serbestçe değiştirmesine olanak tanır. İmzayı her zaman beklenen algoritmayla doğrulayın.
Hatalı
Bölüm başlığı “Hatalı”import jwt from "jsonwebtoken";
const payload = jwt.decode(token) as { sub: string };const user = await findUser(payload.sub);import jwt from "jsonwebtoken";
const payload = jwt.verify(token, publicKey, { algorithms: ["RS256"],}) as { sub: string };const user = await findUser(payload.sub);Düzeltme
Bölüm başlığı “Düzeltme”decode yerine verify kullanın; izin verilen algoritmaları açıkça belirtin ve none’a asla izin vermeyin.