İçeriğe geç

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.

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);

decode yerine verify kullanın; izin verilen algoritmaları açıkça belirtin ve none’a asla izin vermeyin.