Skip to content
Heist/ feed
Back to feed
Critical

clawvet < 0.7.5 Hard-coded JWT Secret Session Forgery

Type: advisorySources: OSV

clawvet self-hosted API server (apps/api) before 0.7.5 hard-codes a fallback JWT secret ('clawvet-dev-secret-change-me') in auth.ts and ships it as the default in .env.example. Because GET /api/v1/scans returns scan records containing userId values without authentication, a remote unauthenticated attacker can harvest a victim's userId, forge a valid HS256 cg_session cookie offline using the known secret, and call GET /api/v1/auth/me to obtain the victim's email address, subscription plan, and secret apiKey. The published clawvet npm package (CLI only) is not affected.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-62241
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 17:03 UTC · Revision 1

Source evidence

clawvet < 0.7.5 Hard-coded JWT Secret Session Forgery

core-osv · Original source

Published 17 Jul 2026, 00:07 UTC

clawvet self-hosted API server (apps/api) before 0.7.5 hard-codes a fallback JWT secret ('clawvet-dev-secret-change-me') in auth.ts and ships it as the default in .env.example. Because GET /api/v1/scans returns scan records containing userId values without authentication, a remote unauthenticated attacker can harvest a victim's userId, forge a valid HS256 cg_session cookie offline using the known secret, and call GET /api/v1/auth/me to obtain the victim's email address, subscription plan, and secret apiKey. The published clawvet npm package (CLI only) is not affected.

osv:CVE-2026-62241
Complete source record
{
  "id": "cfc5cb9f3ae6499acd7d836fb8d26f4bebd0343ac0a6db105d62aab1bed66a11",
  "url": "https://osv.dev/vulnerability/CVE-2026-62241",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "clawvet < 0.7.5 Hard-coded JWT Secret Session Forgery",
    "summary": "clawvet self-hosted API server (apps/api) before 0.7.5 hard-codes a fallback JWT secret ('clawvet-dev-secret-change-me') in auth.ts and ships it as the default in .env.example. Because GET /api/v1/scans returns scan records containing userId values without authentication, a remote unauthenticated attacker can harvest a victim's userId, forge a valid HS256 cg_session cookie offline using the known secret, and call GET /api/v1/auth/me to obtain the victim's email address, subscription plan, and secret apiKey. The published clawvet npm package (CLI only) is not affected.",
    "evidence": "osv:CVE-2026-62241",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-62241",
      "aliases": [
        "CVE-2026-62241",
        "GHSA-9mww-p953-jfc9"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/mohibshaikh/clawvet",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "bffbe9d257247aaacdd0a98ba3003714d5eb108f"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.7.5"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "cpe": "cpe:2.3:a:mohibshaikh:clawvet:*:*:*:*:*:node.js:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.7.5"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v0.7.4",
            "v0.7.3",
            "v0.7.2"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-62241.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:37.422699336Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/62xxx/CVE-2026-62241.json",
        "https://github.com/MohibShaikh/clawvet/security/advisories/GHSA-9mww-p953-jfc9",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-62241",
        "https://www.vulncheck.com/advisories/clawvet-hard-coded-jwt-secret-session-forgery",
        "https://github.com/MohibShaikh/clawvet"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-306",
          "CWE-321"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/62xxx/CVE-2026-62241.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-62241",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 504898,
  "published_at": "2026-07-17T00:07:13.098+00:00"
}