CVE-2025-55210: FreePBX API has a Privilege Escalation Error in GraphQL Allowing Authenticated Users to Access Additional Scopes
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 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 (apiaccesstokens 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.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2025-55210?
CVE-2025-55210 is classified as a privilege escalation vulnerability affecting FreePBX.
How do I fix CVE-2025-55210?
To mitigate CVE-2025-55210, update FreePBX to version 17.0.5 or 16.0.17 or later.
Which versions of FreePBX are affected by CVE-2025-55210?
CVE-2025-55210 affects FreePBX versions earlier than 17.0.5 and 16.0.17.
What type of vulnerability is CVE-2025-55210?
CVE-2025-55210 is a privilege escalation vulnerability in the FreePBX API.
Can authenticated users exploit CVE-2025-55210?
Yes, authenticated users can exploit CVE-2025-55210 to access additional scopes within the FreePBX API.