Vulnerability GHSA-fwg2-gr34-q3w8

Medium Risk
MEDIUM RISK
CVSS Score: 4.3
Score Range: 4.0–6.9
Medium severity vulnerabilities (CVSS 4.0–6.9). Important issues that meaningfully reduce security confidence.
4 months ago
July 01, 2026 at 08:23 PM UTC
SurrealDB: ES512 silently downgraded to ES384 due to jsonwebtoken crate limitation
1.0.0-beta.1 - 1.0.0-beta.9 and 1.0.0-beta.9+20230402 - 3.1.0-beta.3
1.0.0-beta.1 - 1.0.0-beta.9 and 1.0.0-beta.9+20230402 - 3.1.0-beta.3

Summary

SurrealDB: ES512 silently downgraded to ES384 due to jsonwebtoken crate limitation

Details

When a user configures ALGORITHM ES512 for any JWT access method (DEFINE ACCESS ... TYPE JWT ALGORITHM ES512), SurrealDB silently substitutes ES384 at all four internal algorithm conversion points. This occurs because the underlying jsonwebtoken crate (v10.x) does not include an ES512 algorithm variant, so the mapping defaults to ES384 without raising an error, warning, or log message.

Users who provide the correct P-521 key type for ES512 will experience authentication handshake failures due to the curve mismatch with ES384 (which expects P-384).

Impact

Authentication handshake failures when using ES512 with the correct P-521 key type, and when tokens are verified by external systems expecting real ES512 signatures.

This vulnerability cannot be exploited to forge tokens or compromise the integrity or confidentiality of data handled by SurrealDB, as ES384 remains cryptographically strong.

Patches

Versions prior to SurrealDB v3.1.0 are vulnerable.

The patches for SurrealDB v3.1.0 block new DEFINE ACCESS statements using ALGORITHM ES512 with a clear error message and add deprecation warnings at runtime for existing stored ES512 definitions.

Workarounds

Users should reconfigure affected JWT access methods to use a supported algorithm such as ES384 (with a P-384 key pair) or another supported algorithm. Review any DEFINE ACCESS statements specifying ALGORITHM ES512 and update them accordingly.

Related Vulnerabilities

Other vulnerabilities affecting the same packages

View all vulnerabilities for these packages

Impacted packages

Timeline

Published
4 months ago
July 01, 2026 at 08:23 PM UTC
Fixed (3.1.0)
5 months ago
May 26, 2026 at 02:12 PM UTC
Last Modified
2 months ago
September 04, 2026 at 08:55 PM UTC