Canto Security & Risk Analysis

wordpress.org/plugins/canto

Find & publish creative assets to WordPress easily, no email or folder search needed, with Canto's digital asset management.

100 active installs v3.1.1 PHP + WP 5.0+ Updated Dec 23, 2025
cantodamdigital-asset-managementfile-storagephoto-library
89
A · Safe
CVEs total7
Unpatched0
Last CVEJun 13, 2024
Safety Verdict

Is Canto Safe to Use in 2026?

Generally Safe

Score 89/100

Canto has a strong security track record. Known vulnerabilities have been patched promptly.

7 known CVEsLast CVE: Jun 13, 2024Updated 3mo ago
Risk Assessment

The 'canto' plugin version 3.1.1 exhibits a mixed security posture. While it shows strengths in its handling of SQL queries and output escaping, with 100% of SQL queries using prepared statements and 90% of outputs properly escaped, significant concerns are raised by the attack surface and its vulnerability history. The static analysis reveals a substantial attack surface with 4 AJAX handlers, all of which lack authentication checks. This is a major security flaw, as it exposes these endpoints to unauthorized access and potential exploitation.

The plugin's vulnerability history is alarming, with 7 known CVEs, including 3 critical and 4 high-severity issues. The prevalence of 'PHP Remote File Inclusion' and 'Server-Side Request Forgery' vulnerabilities in its past suggests recurring weaknesses in how the plugin handles user input, file operations, and external requests. The fact that the last vulnerability was reported very recently (2024-06-13) indicates ongoing security challenges.

In conclusion, while the plugin has some good practices in place, the unprotected AJAX endpoints and the extensive history of critical and high-severity vulnerabilities, particularly those related to file inclusion and SSRF, present a significant risk. These weaknesses outweigh the positive aspects of its code, making it a potentially dangerous component if not thoroughly secured or updated.

Key Concerns

  • 4 AJAX handlers without auth checks
  • Total 7 known CVEs (3 critical, 4 high)
  • Flows with unsanitized paths
  • Vulnerability history includes RFI and SSRF
  • Lack of capability checks
  • Only 1 nonce check
Vulnerabilities
7

Canto Security Vulnerabilities

CVEs by Year

4 CVEs in 2020
2020
1 CVE in 2023
2023
2 CVEs in 2024
2024
Patched Has unpatched

Severity Breakdown

Critical
3
High
4

7 total CVEs

CVE-2024-4936critical · 9.8Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion')

Canto <= 3.0.8 - Unauthenticated Remote File Inclusion

Jun 13, 2024 Patched in 3.0.9 (18d)
CVE-2024-25096critical · 9.8Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion')

Canto <= 3.0.6 - Remote File Inclusion to Code Execution

Feb 12, 2024 Patched in 3.0.7 (61d)
CVE-2023-3452critical · 9.8Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion')

Canto <= 3.0.4 - Unauthenticated Remote File Inclusion

Aug 9, 2023 Patched in 3.0.5 (167d)
CVE-2020-28976high · 8.3Server-Side Request Forgery (SSRF)

Canto <= 1.9.0 - Blind Server-Side Request Forgery via detail.php

Dec 4, 2020 Patched in 2.0.1 (1145d)
CVE-2020-24063high · 8.3Server-Side Request Forgery (SSRF)

Canto <= 1.9.0 - Blind Server-Side Request Forgery via download.php

Nov 30, 2020 Patched in 2.0.1 (1149d)
CVE-2020-28977high · 8.3Server-Side Request Forgery (SSRF)

Canto <= 1.9.0 - Blind Server-Side Request Forgery via get.php

Mar 12, 2020 Patched in 2.0.1 (1412d)
CVE-2020-28978high · 8.3Server-Side Request Forgery (SSRF)

Canto <= 1.9.0 - Blind Server-Side Request Forgery via tree.php

Mar 12, 2020 Patched in 2.0.1 (2142d)
Code Analysis
Analyzed Mar 16, 2026

Canto Code Analysis

Dangerous Functions
0
Raw SQL Queries
0
0 prepared
Unescaped Output
9
84 escaped
Nonce Checks
1
Capability Checks
0
File Operations
5
External Requests
4
Bundled Libraries
0

Output Escaping

90% escaped93 total outputs
Data Flows
6 unsanitized

Data Flow Analysis

6 flows6 with unsanitized paths
settings_page (includes\class-canto-settings.php:234)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
4 unprotected

Canto Attack Surface

Entry Points4
Unprotected4

AJAX Handlers 4

authwp_ajax_fbc_updateOptionsincludes\class-canto-settings.php:76
authwp_ajax_fbc_get_tokenincludes\class-canto.php:227
authwp_ajax_fbc_getMetadataincludes\class-canto.php:229
authwp_ajax_updateOptionsincludes\class-canto.php:231
WordPress Hooks 20
actioninitblock\index.php:15
actioninitblock\index.php:99
actionenqueue_block_editor_assetsblock\index.php:108
actioninitcanto.php:46
actioninitcanto.php:63
filterthe_contentcanto.php:171
actionwp_footercanto.php:174
actionrest_api_initcanto.php:205
actioninitincludes\class-canto-settings.php:53
actionadmin_initincludes\class-canto-settings.php:56
actionadmin_menuincludes\class-canto-settings.php:59
filtersafe_style_cssincludes\class-canto-settings.php:473
actionadmin_enqueue_scriptsincludes\class-canto.php:164
actionadmin_enqueue_scriptsincludes\class-canto.php:165
filterscript_loader_tagincludes\class-canto.php:181
filtercron_schedulesincludes\class-canto.php:188
actionfbc_scheduled_updateincludes\class-canto.php:214
actioninitincludes\class-canto.php:224
actioninitincludes\class-canto.php:234
actionelementor/widgets/registerincludes\elementor\class-canto-elementor.php:18

Scheduled Events 1

fbc_scheduled_update
Maintenance & Trust

Canto Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedDec 23, 2025
PHP min version
Downloads15K

Community Trust

Rating0/100
Number of ratings0
Active installs100
Developer Profile

Canto Developer Profile

Canto

1 plugin · 100 total installs

71
trust score
Avg Security Score
89/100
Avg Patch Time
871 days
View full developer profile
Detection Fingerprints

How We Detect Canto

Patterns used to identify this plugin on WordPress sites during automated security audits and web crawling.

Asset Fingerprints

Asset Paths
/wp-content/plugins/canto/block/block.js
Script Paths
/wp-content/plugins/canto/block/block.js

HTML / DOM Fingerprints

CSS Classes
acf-fields-containeracf-field-imageacf-field-labelacf-image
Data Attributes
data-post-iddata-canto-acfdata-field-namedata-field-type
JS Globals
canto_acf_fields_loaded
REST Endpoints
/wp-json/wp/v2/posts?_fields[]=canto_acf_fields
FAQ

Frequently Asked Questions about Canto