Description
canto-saas-api is a PHP library for interacting with the Canto SaaS API. Prior to version 3.0.0, OAuth2Request::getQueryParams() places app_id, app_secret, refresh_token, and code in the URL query string of token POST requests, allowing access logs, proxy logs, and APM traces to persist the credentials in plaintext. When a token request fails, OAuth2::obtainAccessToken() also passes the credential-bearing Guzzle request URI into AuthorizationFailedException, so application logs and error trackers can record the same secrets. An attacker with access to affected telemetry can obtain Canto credentials and use them to request access tokens for the tenant. This issue is fixed in version 3.0.0.
Published: 2026-09-15
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Credential Exposure
Action: Apply Patch
AI Analysis

Impact

canto‑saas‑api discloses OAuth2 credentials by placing app_id, app_secret, refresh_token, and code in the URL query string of token POST requests and by including the full request URI in AuthorizationFailedException when token acquisition fails. The leaked data can be captured in web access logs, proxy logs, and APM traces. An attacker who can read these telemetry records can retrieve the credentials and use them to obtain access tokens for the tenant, exposing all authenticated sessions. This is an example of information‑exposure weaknesses (CWE‑598 and CWE‑209).

Affected Systems

All releases of canto‑saas‑api before version 3.0.0 are affected. Versions 3.0.0 and later contain the fix and are no longer vulnerable.

Risk and Exploitability

The CVSS score is 5.3, and the EPSS score of < 1 % indicates a very low probability that the vulnerability will be exploited in the wild. The vulnerability is not listed in the CISA KEV catalog. Likely exploitation requires access to application logs or error‑tracking systems, so environments with exposed or publicly readable logs pose a higher risk, although current exploitation activity remains limited.

Generated by OpenCVE AI on September 20, 2026 at 15:32 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade canto‑saas‑api to version 3.0.0 or newer.
  • Adjust application code to remove OAuth credentials from URL query parameters before sending requests and modify exception handling to avoid logging the full request URI.
  • Restrict access to application logs and monitoring tools so that only authorized personnel can read the logs.

Generated by OpenCVE AI on September 20, 2026 at 15:32 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-37pm-83g7-r22v canto-saas-api: OAuth credentials exposed in URL query string and exception messages
History

Thu, 17 Sep 2026 20:30:00 +0000

Type Values Removed Values Added
First Time appeared Jleehr
Jleehr canto-saas-api
Vendors & Products Jleehr
Jleehr canto-saas-api

Tue, 15 Sep 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 15 Sep 2026 17:45:00 +0000

Type Values Removed Values Added
Description canto-saas-api is a PHP library for interacting with the Canto SaaS API. Prior to version 3.0.0, OAuth2Request::getQueryParams() places app_id, app_secret, refresh_token, and code in the URL query string of token POST requests, allowing access logs, proxy logs, and APM traces to persist the credentials in plaintext. When a token request fails, OAuth2::obtainAccessToken() also passes the credential-bearing Guzzle request URI into AuthorizationFailedException, so application logs and error trackers can record the same secrets. An attacker with access to affected telemetry can obtain Canto credentials and use them to request access tokens for the tenant. This issue is fixed in version 3.0.0.
Title canto-saas-api: OAuth credentials exposed in URL query string and exception messages
Weaknesses CWE-209
CWE-598
References
Metrics cvssV3_1

{'score': 5.3, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N'}


Subscriptions

Jleehr Canto-saas-api
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-15T19:05:49.862Z

Reserved: 2026-06-16T18:57:40.181Z

Link: CVE-2026-55375

cve-icon Vulnrichment

Updated: 2026-09-15T19:05:46.545Z

cve-icon NVD

Status : Deferred

Published: 2026-09-15T18:17:24.087

Modified: 2026-09-30T17:51:56.193

Link: CVE-2026-55375

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-20T15:45:17Z

Weaknesses
  • CWE-209

    Generation of Error Message Containing Sensitive Information

  • CWE-598

    Use of HTTP Request With Sensitive Query String