Defect: keylessWallet.service.ts:233 —
when isCancelAction=true, server skips JWT signature verification and accepts forged tokens.
Target: POST /prime/v1/keyless-wallet/updatePinConfirmStatus
sub identifier.isCancelAction=true.—
ok: true, the defect is confirmed.—
—
—
const keylessWalletId = await this.getKeylessWalletIdFromToken( params.token, { validate: !params.isCancelAction } // validate=false when isCancelAction=true ); // supabase.service.ts:76 parseToken(token: string) { const payload = token.split('.')[1]; // base64 decode only — no signature check return this.decodePayload(payload); }