{"id":"ghsa-ghsa-jf75-q64q-g65r","seq":2056912,"kind":"advisory","title":"Waline login accepts a non-string email as a match-all MongoDB query","url":"https://github.com/advisories/GHSA-jf75-q64q-g65r","permalink":"https://vulnpulse.app/items/ghsa-ghsa-jf75-q64q-g65r","summary":"影響: npm:@waline/vercel <= 1.40.3 → 1.41.0\nThe login endpoint POST /api/token reads the email field from the request body without checking its type and passes it straight into the MongoDB storage query. When email is not a string (for example a JSON object such as {\"$ne\": null}), the MongoDB storage adapter's parseWhere silently DROPS the field rather than rejecting the request, producing an empty filter that matches ALL users. The endpoint then verifies the submitted password against the FIRST user returned (user[0]), which in Waline i…","severity":"medium","techs":["nodejs","mongodb","vercel"],"cves":[],"tags":["GHSA-jf75-q64q-g65r","@waline/vercel"],"source":{"id":"ghsa","name":"GitHub Advisory Database"},"published_at":"2026-10-28T21:17:58.000Z","fetched_at":"2026-10-29T00:48:52.653Z"}