Description
canto-saas-api is a PHP library for interacting with the Canto SaaS API. Prior to version 3.0.0, Request::buildRequestUrl() joins values returned by Request::getPathVariables() without encoding individual path segments, including the scheme and contentId values used by GetContentDetailsRequest. When a consuming application supplies an untrusted path variable value, path traversal sequences, query delimiters, or fragment delimiters can change the destination endpoint before AbstractEndpoint::sendRequest() attaches the configured authentication token. An attacker who controls that path variable value through the consuming application can cause unintended reads or writes with the configured application's privileges on the same Canto instance, but applications that pass only trusted and validated identifiers are not exploitable. This issue is fixed in version 3.0.0.
Published: 2026-09-15
Score: 4.8 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Privilege Escalation via Request Redirection
Action: Immediate Patch
AI Analysis

Impact

Request::buildRequestUrl() in canto-saas-api concatenates path variables without encoding each segment, including scheme and contentId values used by GetContentDetailsRequest. If an application supplies an untrusted path variable, insertion of path traversal sequences, query delimiters, or fragment delimiters can alter the destination endpoint before AbstractEndpoint::sendRequest() attaches the authentication token. An attacker controlling that path variable can cause unintended reads or writes on the same Canto instance using the configured application's privileges, while applications that provide only trusted and validated identifiers remain safe. This issue is fixed in version 3.0.0.

Affected Systems

The Canto SaaS API PHP client library developed by jleehr is affected. All releases prior to version 3.0.0 are vulnerable. Version 3.0.0 and later include the fix that properly encodes each path segment.

Risk and Exploitability

The flaw has a CVSS score of 4.8, indicating moderate impact. The EPSS score is less than 1%, indicating a very low probability of exploitation. The vulnerability allows an attacker who can control a path variable in an authenticated request to redirect the request to unintended endpoints, potentially enabling unintended reads or writes on the Canto instance using the application's privileges. The flaw is classified as CWE-74 and CWE-918 and was addressed in version 3.0.0.

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

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the canto-saas-api library to version 3.0.0 or later.
  • Before invoking Request::buildRequestUrl, ensure the path variables contain only trusted, properly encoded identifiers.
  • Restrict the application logic so that only known safe identifiers are accepted as path variables, and reject or transform any untrusted input.

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

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-9qfv-wgh2-m6p8 canto-saas-api: Authenticated API requests can be redirected via unencoded path variables
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 20: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, Request::buildRequestUrl() joins values returned by Request::getPathVariables() without encoding individual path segments, including the scheme and contentId values used by GetContentDetailsRequest. When a consuming application supplies an untrusted path variable value, path traversal sequences, query delimiters, or fragment delimiters can change the destination endpoint before AbstractEndpoint::sendRequest() attaches the configured authentication token. An attacker who controls that path variable value through the consuming application can cause unintended reads or writes with the configured application's privileges on the same Canto instance, but applications that pass only trusted and validated identifiers are not exploitable. This issue is fixed in version 3.0.0.
Title canto-saas-api: Authenticated API requests can be redirected via unencoded path variables
Weaknesses CWE-74
CWE-918
References
Metrics cvssV3_1

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


Subscriptions

Jleehr Canto-saas-api
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-15T19:44:28.217Z

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

Link: CVE-2026-55374

cve-icon Vulnrichment

Updated: 2026-09-15T18:57:36.845Z

cve-icon NVD

Status : Deferred

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

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

Link: CVE-2026-55374

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

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

Weaknesses
  • CWE-74

    Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')

  • CWE-918

    Server-Side Request Forgery (SSRF)