{"id":"CVE-2026-62860","published":"2026-10-30T21:17:14.400","lastModified":"2026-10-30T21:17:14.400","description":"Picsou is a self-hosted personal finance dashboard. In the affected login implementation, the `/api/auth/login` endpoint reveals whether a username exists through a timing discrepancy. In `backend/src/main/java/com/picsou/controller/AuthController.java`, `AuthController.login()` throws `BadCredentialsException` immediately for an unknown username, before `passwordEncoder.matches(...)`, whereas an existing username with an incorrect password incurs the `bcrypt` comparison cost. Both cases return the same generic `HTTP 401` response, but repeated latency measurements disclose valid usernames without credentials. Login rate limiting, a small user population, and deployments inaccessible from outside the local network limit practical exposure; the weakness does not itself read or modify account data, though enumerated usernames can assist credential stuffing or brute-force attacks. This issue is fixed in repository release 1.0.8.","cvssScore":5.3,"cvssSeverity":"MEDIUM","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","cwes":["CWE-208"],"vendors":[],"products":[],"references":[{"url":"https://github.com/Cloeille/picsou-finance/commit/877ac0f7c651612e15f0dbac5de8e96d66bbcf59","tags":[]},{"url":"https://github.com/Cloeille/picsou-finance/releases/tag/1.0.8","tags":[]},{"url":"https://github.com/Cloeille/picsou-finance/security/advisories/GHSA-ww5m-pxgq-8qq6","tags":[]}],"exploitRefs":[{"url":"https://github.com/Cloeille/picsou-finance/commit/877ac0f7c651612e15f0dbac5de8e96d66bbcf59","tags":[]},{"url":"https://github.com/Cloeille/picsou-finance/releases/tag/1.0.8","tags":[]},{"url":"https://github.com/Cloeille/picsou-finance/security/advisories/GHSA-ww5m-pxgq-8qq6","tags":[]}],"hasPoc":true,"ai":null}