CVE-2025-55210
Published: 12 February 2026
Summary
CVE-2025-55210 is a high-severity Privilege Context Switching Error (CWE-270) vulnerability in Sangoma Freepbx. Its CVSS base score is 7.5 (High).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploitation for Privilege Escalation (T1068); ranked at the 17.6th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.
Threat & Defense at a Glance
Threat & Defense Details
MITRE ATT&CK Enterprise TechniquesAI
Why these techniques?
Direct privilege escalation via forged JWT application access tokens to bypass authorization.
NVD Description
FreePBX is an open-source web-based graphical user interface (GUI) that manages Asterisk. Prior to 17.0.5 and 16.0.17, FreePBX module api (PBX API) is vulnerable to privilege escalation by authenticated users with REST/GraphQL API access. This vulnerability allows an attacker to…
more
forge a valid JWT with full access to the REST and GraphQL APIs on a FreePBX that they've already connected to, possibly as a lower privileged user. The JWT is signed using the api-oauth.key private key. An attacker can generate their own token if they possess this key (e.g., by accessing an affected instance), and specify any scopes they wish (e.g., rest, gql), bypassing traditional authorization checks. However, FreePBX enforces that the jti (JWT ID) claim must exist in the database (api_access_tokens table in the asterisk MySQL database) in order for the token to be accepted. Therefore, the attacker must know a jti value that already exists on the target instance. This vulnerability is fixed in 17.0.5 and 16.0.17.
Deeper analysisAI
CVE-2025-55210 is a privilege escalation vulnerability in the FreePBX module api (PBX API), which provides REST and GraphQL API access within FreePBX, an open-source web-based graphical user interface for managing Asterisk. It affects FreePBX versions prior to 17.0.5 and 16.0.17. The flaw, assigned CVSS score 7.5 (CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H) and mapped to CWE-270, stems from insufficient validation in JWT handling, enabling authenticated users to forge tokens signed with the api-oauth.key private key.
An attacker with existing authenticated access to the REST/GraphQL APIs—potentially as a lower-privileged user already connected to the FreePBX instance—can exploit this if they obtain the api-oauth.key (e.g., by accessing the affected instance). They can then generate a custom JWT specifying any desired scopes, such as rest or gql, to gain full access to the APIs and bypass traditional authorization checks. Exploitation requires knowledge of an existing jti (JWT ID) value from the api_access_tokens table in the Asterisk MySQL database, as FreePBX enforces its presence for token validation.
The vulnerability is addressed in FreePBX 17.0.5 and 16.0.17. Patch details are provided in GitHub commits such as bc6f7d72063cffb18babb6559fa351046d7ad19b, c16a3a79b83382fb4884e51174882ed635637002, and d66786634e7e7d3eedcb4d0931b32c415ba6e9ef, along with the security advisory at https://github.com/FreePBX/security-reporting/security/advisories/GHSA-gvgh-p7wj-76cf.
Details
- CWE(s)