Vuln ID TP-007 Title Reflected XSS - Wine Search Severity medium Type XSS HTTP Method GET URL /wines Parameter search Filename - Code Location backend/api/controllers/WineController.php line 46; frontend/app/wines/WinesCatalog.js line 83

Description

The search query is returned in the API response as-is. The frontend renders this using dangerouslySetInnerHTML, enabling XSS.

Proof of Concept

search=<img src=x onerror=alert(1)>

Remediation

Server-side: HTML-encode the search query. Client-side: use text rendering.