#47729 [W&A-Insight] Insecure Token Storage in SessionStorage
Description
// ConnectButton.tsx - Token is stored after successful authentication
sessionStorage.setItem("token", result?.data);// useUpdateUser.ts - User authentication check
if (!sessionStorage.getItem("token")) return false;
// utils/methods.ts - Every API call includes token from sessionStorage
export async function getUser(): Promise<ErrorRes | GetUserRes> {
return await axios.post("/api/user/get-user", {
token: sessionStorage.getItem("token") // Exposed to XSS
}).then(res => res.data);
}
// Similar pattern in 25+ other functionsProof of Concept
Proof of Concept
FIX:
Previous#47725 [W&A-Insight] Non-Expiring Tokens and CSRF ExposureNext#47731 [W&A-Insight] Offer Listings N+1 Query Performance Vulnerability
Was this helpful?