{
  "affected": [
    {
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "476e57b04646416e24e24c56133c9fadf9e52b95"
            }
          ],
          "repo": "https://github.com/freshrss/freshrss",
          "type": "GIT"
        }
      ]
    }
  ],
  "aliases": [
    "GHSA-pcq9-mq6m-mvmp"
  ],
  "database_specific": {
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
      "CWE-287"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/68xxx/CVE-2025-68402.json"
  },
  "details": "FreshRSS is a free, self-hostable RSS aggregator. From 57e1a37 - 00f2f04, the lengths of the nonce was changed from 40 chars to 64. password_verify() is currently being called with a constructed string (SHA-256 nonce + part of a bcrypt hash) instead of the raw user password. Due to bcrypt’s 72-byte input truncation, this causes password verification to succeed even when the user enters an incorrect password. This vulnerability is fixed in 1.27.2-dev (476e57b). The issue was only present in the edge branch and never in a stable release.",
  "id": "CVE-2025-68402",
  "modified": "2026-04-01T23:08:25.521702807Z",
  "published": "2026-03-09T19:41:57.974Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/68xxx/CVE-2025-68402.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/FreshRSS/FreshRSS/security/advisories/GHSA-pcq9-mq6m-mvmp"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-68402"
    },
    {
      "type": "FIX",
      "url": "https://github.com/FreshRSS/FreshRSS/commit/476e57b04646416e24e24c56133c9fadf9e52b95"
    },
    {
      "type": "FIX",
      "url": "https://github.com/FreshRSS/FreshRSS/pull/8061"
    },
    {
      "type": "FIX",
      "url": "https://github.com/FreshRSS/FreshRSS/pull/8320"
    }
  ],
  "schema_version": "1.7.3",
  "severity": [
    {
      "score": "CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N",
      "type": "CVSS_V4"
    }
  ],
  "summary": "FreshRSS has an authentication bypass due to truncated bcrypt hash [edge branch]"
}