Back to snapcart-api report
SecurityCritical
Potential SQL Injection
src/api/users.ts:42
Before
1router.get("/users/:id", async (req: Request, res: Response) => {2 const id = req.params.id;3 const sql = `SELECT * FROM users WHERE id = ${id}`;4 const rows = await db.query(sql); // unsafe5 res.json(rows);6});After
1router.get("/users/:id", async (req: Request, res: Response) => {2 const id = Number(req.params.id);3 if (!Number.isInteger(id) || id <= 0) {4 return res.status(400).json({ error: "invalid id" });5 }6 const sql = "SELECT * FROM users WHERE id = $1";7 const rows = await db.query(sql, [id]); // parameterized8 res.json(rows);9});- Uploaddone
- Analyzedone
- Finddone
- Explainactive
- Fixupcoming
- Testupcoming
- Verifyupcoming