Back to snapcart-api report
SecurityHigh
Missing Input Validation
src/api/profile.ts:18
Before
1router.patch("/profile", async (req: Request, res: Response) => {2 const body = req.body; // unvalidated3 const updated = await updateProfile(req.userId, body);4 res.json(updated);5});After
1const profileSchema = z.object({2 displayName: z.string().trim().min(1).max(40).optional(),3 bio: z.string().max(280).optional(),4 avatarUrl: z.string().url().optional(),5}).strict();6 7router.patch("/profile", async (req: Request, res: Response) => {8 const parsed = profileSchema.safeParse(req.body);9 if (!parsed.success) {10 return res.status(400).json({ error: parsed.error.flatten() });11 }12 const updated = await updateProfile(req.userId, parsed.data);13 res.json(updated);14});- Uploaddone
- Analyzedone
- Finddone
- Explainactive
- Fixupcoming
- Testupcoming
- Verifyupcoming