Skip to content
Heist/ feed
Back to feed
High

WeeChat has Non-Constant-Time Password Hash Comparison in Relay Authentication

Type: advisorySources: OSV

WeeChat (Wee Enhanced Environment for Chat) is a free chat client. In versions 0.3.1 through 4.9.0, the WeeChat relay authentication uses non-constant-time string comparison functions (weechat_strcasecmp and strcmp) to verify password hashes and plaintext passwords. An attacker can exploit timing differences to extract the server-computed hash character by character, then authenticate using the correct hash without knowing the password. Version 4.9.1 fixes the issue.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-53525
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 06:08 UTC · Revision 1

Source evidence

WeeChat has Non-Constant-Time Password Hash Comparison in Relay Authentication

core-osv · Original source

Published 21 Aug 2026, 22:19 UTC

WeeChat (Wee Enhanced Environment for Chat) is a free chat client. In versions 0.3.1 through 4.9.0, the WeeChat relay authentication uses non-constant-time string comparison functions (weechat_strcasecmp and strcmp) to verify password hashes and plaintext passwords. An attacker can exploit timing differences to extract the server-computed hash character by character, then authenticate using the correct hash without knowing the password. Version 4.9.1 fixes the issue.

osv:CVE-2026-53525
Complete source record
{
  "id": "8556ff28d4398327f7da618cc623378e0c901aaac2f93270e67c28c3652123ed",
  "url": "https://osv.dev/vulnerability/CVE-2026-53525",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "WeeChat has Non-Constant-Time Password Hash Comparison in Relay Authentication",
    "summary": "WeeChat (Wee Enhanced Environment for Chat) is a free chat client. In versions 0.3.1 through 4.9.0, the WeeChat relay authentication uses non-constant-time string comparison functions (weechat_strcasecmp and strcmp) to verify password hashes and plaintext passwords. An attacker can exploit timing differences to extract the server-computed hash character by character, then authenticate using the correct hash without knowing the password. Version 4.9.1 fixes the issue.",
    "evidence": "osv:CVE-2026-53525",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-53525",
      "aliases": [
        "CVE-2026-53525",
        "GHSA-vhv8-g2r9-cwcc"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/weechat/weechat",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0b89084ea4dc5cfe353541a41059d62b62d8dc84"
                },
                {
                  "fixed": "2148829ebe47d8ac2377ef234162bf6b64c5b466"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0.3.4"
                      },
                      {
                        "fixed": "4.9.1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0.3.1"
                      },
                      {
                        "last_affected": "4.9.0"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v4.9.0",
            "v4.8.0",
            "v4.7.0",
            "v4.6.0",
            "v4.5.0",
            "v3.8",
            "v4.4.0",
            "v4.3.0",
            "v4.2.0",
            "v4.1.0",
            "v4.0.0",
            "v4.0.0-rc1",
            "v3.8-rc1",
            "v3.7",
            "v3.6",
            "v3.6-rc1",
            "v3.5",
            "v3.5-rc1",
            "v3.4",
            "v3.4-rc1",
            "v3.3",
            "v3.3-rc1",
            "v2.3",
            "v3.2",
            "v3.2-rc1",
            "v3.1",
            "v3.1-rc1",
            "v3.0",
            "v3.0-rc1",
            "v2.9",
            "v2.9-rc1",
            "v2.8",
            "v2.8-rc1",
            "v2.7",
            "v2.7-rc1",
            "v2.6",
            "v2.6-rc2",
            "v2.6-rc1",
            "v2.5",
            "v2.5-rc2",
            "v2.5-rc1",
            "v2.4",
            "v2.4-rc1",
            "v2.3-rc1",
            "v2.2",
            "v2.2-rc2",
            "v2.2-rc1",
            "v2.1",
            "v2.1-rc1",
            "v2.0",
            "v2.0-rc1",
            "v1.9",
            "v1.9-rc2",
            "v1.9-rc1",
            "v1.8",
            "v1.8-rc1",
            "v1.7",
            "v1.7-rc2",
            "v1.7-rc1",
            "v1.6",
            "v1.6-rc2",
            "v1.6-rc1",
            "v1.5",
            "v1.5-rc2",
            "v1.5-rc1",
            "v1.4",
            "v1.4-rc2",
            "v1.4-rc1",
            "v1.3",
            "v1.3-rc2",
            "v1.3-rc1",
            "v1.2",
            "v1.2-rc2",
            "v1.2-rc1",
            "v1.1",
            "v1.1-rc2",
            "v1.1-rc1",
            "v1.0",
            "v1.0-rc3",
            "v1.0-rc2",
            "v1.0-rc1",
            "v0.4.3",
            "v0.4.3-rc2",
            "v0.4.3-rc1",
            "v0.4.2",
            "v0.4.2-rc2",
            "v0.4.2-rc1",
            "v0.4.1",
            "v0.4.1-rc2",
            "v0.4.1-rc1",
            "v0.4.0",
            "v0.4.0-rc3",
            "v0.4.0-rc2",
            "v0.4.0-rc1",
            "v0.3.9",
            "v0.3.9-rc2",
            "v0.3.9-rc1",
            "v0.3.8",
            "v0.3.8-rc2",
            "v0.3.8-rc1",
            "v0.3.7",
            "v0.3.7-rc3",
            "v0.3.7-rc2",
            "v0.3.7-rc1",
            "v0.3.6",
            "v0.3.6-rc3",
            "v0.3.6-rc2",
            "v0.3.6-rc1",
            "v0.3.5",
            "v0.3.5-rc3",
            "v0.3.5-rc2",
            "v0.3.5-rc1",
            "v0.3.4"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-53525.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:26.349203747Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53525.json",
        "https://github.com/weechat/weechat/security/advisories/GHSA-vhv8-g2r9-cwcc",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-53525"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-208"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53525.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-53525",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 492939,
  "published_at": "2026-08-21T22:19:21.278+00:00"
}