canto-saas-api: OAuth credentials exposed in URL query string and exception messages
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- High
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-209.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| jleehr | canto-saas-api | before 3.0.0 | 3.0.0 | Patch available | CNA |
| — | jleehr/canto-saas-api (Packagist) | before 3.0.0 | 3.0.0 | Patch available | GHSA-37pm-83g7-r22v |
- canto-saas-api Vendorjleehr Affected before 3.0.0 Fixed in 3.0.0 Patch available CNA
- jleehr/canto-saas-api (Packagist) Vendor— Affected before 3.0.0 Fixed in 3.0.0 Patch available GHSA-37pm-83g7-r22v
Remediation
- Fix · CNA canto-saas-api (jleehr) Fixed in 3.0.0
- Fix · GHSA-37pm-83g7-r22v jleehr/canto-saas-api (Packagist) Fixed in 3.0.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-55375
- 2026-10-03 Alias added: GHSA-37pm-83g7-r22v
References
More jleehr vulnerabilities
- TI-2026-39953 canto-saas-api: Authenticated API requests can be redirected via unencoded path variables CVSS 3.1MEDIUM 4.8
Sources
- CVE-2026-55375 · CVE Program
- CVE-2026-55375 · NVD
- FIRST EPSS
- GHSA-37pm-83g7-r22v · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences