Authentication Bypass in surrealdb (CVE-2024-58363)
Summary
Authentication bypass in surrealdb (CVE-2024-58363). Risk of unauthorized operations or information disclosure. Exploitable via use. Mitigation: upgrade to 2.0.0-alpha.6 or later.
Original description
The description as published by the source.
Authentication would not be properly validated when an already authenticated scope user would use the use method or USE clause to switch working databases in a session. If there was a user record in the new database with identical record identifier as the original record that the user authenticated with in the original database, this could result in the user being able to perform actions under the identity of the unrelated user in the new database. This issue does not affect system users at any level.
By default, record identifiers are randomly generated with sufficient complexity to prevent the identifier collision required to trigger this issue. However, the issue may trigger in situations where multiple databases in the same SurrealDB instance are using explicitly defined or incremental record identifiers to identify users on an identically named table.
Impact
Under the circumstances described above, a user who has an authenticated session as a scope user in a database could become authorized to query data under the identity of a specific scope user associated with an identical record identifier in a different database within the same SurrealDB instace if the PERMISSIONS clause would allow it due to relying exclusively on the $auth parameter, which would point to the impersonated user. The impact is limited to the single user with matching record identifier.
The impact of this issue is mitigated if the table PERMISSIONS clause explicitly checks for an sco…
Source: NIST National Vulnerability Database NVD GitHub Advisory
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2024-58363 has been found in surrealdb.
Attackers can target a specific entry point like use over the network to misuse the product.
Risk of unauthorized operations or information disclosure. CVSS score: 6.3/10.
What to do: upgrade surrealdb to 2.0.0-alpha.6 or later.
If unsure, ask your IT team or search "surrealdb CVE-2024-58363" on the vendor's site.
CVE-2024-58363 (surrealdb) — CWE-287 / CVSS v3 6.3
Attack vector: remote (network-reachable) / no user interaction
Attack surface: use / USE / PERMISSIONS / NONE
Patched: 2.0.0-alpha.6 — apply immediately
Workaround: Users unable to update may want to ensure that table PERMISSIONS clauses explicitly check that the $scope parameter matches a scope that is uniquely named across databases in the same SurrealDB instance.
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
Authentication bypass (CWE-287) exists in surrealdb. Attackers reach the vulnerable code path via use.
Check the vendor advisory for the affected versions of surrealdb. Attack surface: use / USE / PERMISSIONS / NONE.
Severity: Medium (CVSS 6.3/10). Risk of unauthorized operations or information disclosure.
Update to 2.0.0-alpha.6.
Workaround: Users unable to update may want to ensure that table PERMISSIONS clauses explicitly check that the $scope parameter matches a scope that is uniquely named across databases in the same SurrealDB instance.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'surrealdb' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r 'surrealdb' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
surrealdbを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply temporary workaround mitigate
Users unable to update may want to ensure that table `PERMISSIONS` clauses explicitly check that the `$scope` parameter matches a scope that is uniquely named across databases in the same SurrealDB instance.パッチが適用されるまでの応急処置として、Users unable to update may want to ensure that table
PERMISSIONSclauses explicitly check that the$scopeparameter matches a scope that is uniquely named across databases in the same SurrealDB instance. を実施。回避策の副作用 (機能低下) を確認した上で。 -
3Apply patch patch
Upgrade surrealdb to 2.0.0-alpha.6ステージング環境で 2.0.0-alpha.6 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
4Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
References
- package github.com
- web github.com
- web vulncheck.com
- web nvd.nist.gov
- web github.com
- web github.com
- web github.com