---
id: CVE-2026-63761
title: >-
  SurrealDB before 3.1.0 silently substitutes the ES384 algorithm when a JWT
  access method is configured with ALGORITHM ES512 (DEFINE ACCESS ..
summary: >-
  SurrealDB before 3.1.0 silently substitutes the ES384 algorithm when a JWT
  access method is configured with ALGORITHM ES512 (DEFINE ACCESS ... TYPE JWT
  ALGORITHM ES512), because the underlying jsonwebtoken crate (v10.x) has no
  ES512 vari…
severity: medium
cvss: 4.3
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L'
cwe:
  - CWE-327
vendor: surrealdb
product: surrealdb
affected:
  - surrealdb < 3.1.0
patched:
  - surrealdb 3.1.0
published: '2026-07-20'
updated: '2026-10-08'
sourceUpdated: '2026-10-08T16:17:28.117'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-63761'
references:
  - url: >-
      https://github.com/surrealdb/surrealdb/security/advisories/GHSA-fwg2-gr34-q3w8
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/surrealdb-before-algorithm-downgrade-via-es512
    label: disclosure@vulncheck.com
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-63761'
  - url: 'https://github.com/surrealdb/surrealdb/pull/7226'
  - url: >-
      https://github.com/surrealdb/surrealdb/commit/bd043d73dad583219d7df2b91f81ab0054c53730
  - url: 'https://github.com/surrealdb/surrealdb'
tags:
  - nvd
  - cve.org
  - osv
  - rust
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-07-20T13:48:06.564282Z'
epss: 0.00278
epssPercentile: 0.2008
aliases:
  - GHSA-fwg2-gr34-q3w8
ecosystem: rust
ingestedAt: '2026-09-05T19:33:50.052Z'
---

## Overview

SurrealDB before 3.1.0 silently substitutes the ES384 algorithm when a JWT access method is configured with ALGORITHM ES512 (DEFINE ACCESS ... TYPE JWT ALGORITHM ES512), because the underlying jsonwebtoken crate (v10.x) has no ES512 variant and the mapping defaults to ES384 without any error, warning, or log message. Users who supply the correct P-521 key for ES512 experience authentication handshake failures due to the curve mismatch with ES384 (which expects P-384), and tokens are rejected by external systems expecting genuine ES512 signatures. The flaw cannot be used to forge tokens or compromise data confidentiality or integrity, as ES384 remains cryptographically strong.

## Affected

- `surrealdb < 3.1.0`

## Remediation

Upgrade past the affected range:

- `surrealdb 3.1.0`

## Package advisory (CVE-2026-63761)

Affected packages:

- `surrealdb < 3.1.0`

Patched in:

- `surrealdb 3.1.0`

Source: https://osv.dev/vulnerability/GHSA-fwg2-gr34-q3w8
