ImageRecycle pdf & image compression Security & Risk Analysis

wordpress.org/plugins/imagerecycle-pdf-image-compression

ImageRecycle image & PDF compression. Make WordPress loads faster by using an automatic image and PDF optimization.

1K active installs v3.1.18 PHP 5.3+ WP 3.5.1+ Updated Sep 30, 2025
image-compressimage-compressionimage-optimizationimage-resizer
97
A · Safe
CVEs total15
Unpatched0
Last CVEDec 10, 2024
Safety Verdict

Is ImageRecycle pdf & image compression Safe to Use in 2026?

Generally Safe

Score 97/100

ImageRecycle pdf & image compression has a strong security track record. Known vulnerabilities have been patched promptly.

15 known CVEsLast CVE: Dec 10, 2024Updated 6mo ago
Risk Assessment

The security posture of the "imagerecycle-pdf-image-compression" plugin v3.1.18 presents a mixed picture. On one hand, the plugin demonstrates a strong adherence to secure coding practices in several areas. The vast majority of SQL queries (95%) utilize prepared statements, which is excellent for preventing SQL injection. Additionally, a significant number of nonce checks (19) and capability checks (15) are present, indicating an effort to protect against common WordPress vulnerabilities. The absence of critical or high-severity taint flows is also a positive sign. However, there are notable concerns that temper this otherwise positive assessment. The presence of 4 AJAX handlers without authentication checks represents a significant attack surface that could be exploited by unauthenticated users. The use of the 'exec' function, a dangerous function that can execute arbitrary commands, also raises red flags, especially when coupled with potential input sanitization issues. The vulnerability history reveals a pattern of 15 medium-severity CVEs, primarily related to Cross-Site Request Forgery (CSRF), Missing Authorization, and Cross-Site Scripting (XSS). While no vulnerabilities are currently unpatched, the consistent appearance of these types of issues in the past suggests recurring development weaknesses in input validation and authorization logic.

In conclusion, while the plugin has implemented some robust security measures, particularly regarding database interactions, the unprotected AJAX endpoints and the use of dangerous functions like 'exec' introduce significant risks. The historical prevalence of medium-severity vulnerabilities in common areas like authorization and XSS indicates that ongoing vigilance and code review are necessary. Developers should prioritize addressing the unprotected AJAX handlers and carefully review the implementation of 'exec' and any associated input handling to mitigate potential exploitation. The plugin's strengths lie in its database security, but its weaknesses in authentication for certain entry points and the presence of powerful but risky functions warrant careful attention to prevent future security incidents.

Key Concerns

  • AJAX handlers without authentication checks
  • Presence of dangerous function 'exec'
  • Medium severity vulnerabilities in history (15)
  • Output escaping not consistently applied (51%)
  • Taint flows with unsanitized paths (2)
Vulnerabilities
15

ImageRecycle pdf & image compression Security Vulnerabilities

CVEs by Year

2 CVEs in 2023
2023
13 CVEs in 2024
2024
Patched Has unpatched

Severity Breakdown

Medium
15

15 total CVEs

CVE-2024-54266medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

ImageRecycle pdf & image compression <= 3.1.16 - Reflected Cross-Site Scripting

Dec 10, 2024 Patched in 3.1.17 (9d)
CVE-2024-6631medium · 5Missing Authorization

ImageRecycle pdf & image compression <= 3.1.14 - Missing Authorization in Several AJAX Actions

Aug 23, 2024 Patched in 3.1.15 (1d)
CVE-2024-8120medium · 4.7Cross-Site Request Forgery (CSRF)

ImageRecycle pdf & image compression <= 3.1.14 - Cross-Site Request in Several AJAX Actions

Aug 23, 2024 Patched in 3.1.15 (1d)
CVE-2024-1334medium · 4.3Cross-Site Request Forgery (CSRF)

ImageRecycle pdf & image compression <= 3.1.13 - Cross-Site Request Forgery to Settings Update in enableOptimization

Feb 7, 2024 Patched in 3.1.14 (174d)
CVE-2024-0983medium · 4.3Missing Authorization

ImageRecycle pdf & image compression <= 3.1.13 - Missing Authorization to Settings Update in enableOptimization

Feb 7, 2024 Patched in 3.1.14 (174d)
CVE-2024-1339medium · 4.3Cross-Site Request Forgery (CSRF)

ImageRecycle pdf & image compression <= 3.1.13 - Cross-Site Request Forgery to Plugin Data Removal in reinitialize

Feb 7, 2024 Patched in 3.1.14 (174d)
CVE-2024-1091medium · 4.3Missing Authorization

ImageRecycle pdf & image compression <= 3.1.13 - Missing Authorization to Plugin Data Removal in reinitialize

Feb 7, 2024 Patched in 3.1.14 (174d)
CVE-2024-1338medium · 4.3Cross-Site Request Forgery (CSRF)

ImageRecycle pdf & image compression <= 3.1.13 - Cross-Site Request Forgery to Settings Update in stopOptimizeAll

Feb 7, 2024 Patched in 3.1.14 (174d)
CVE-2024-1089medium · 4.3Missing Authorization

ImageRecycle pdf & image compression <= 3.1.13 - Missing Authorization to Settings Update in optimizeAllOn

Feb 7, 2024 Patched in 3.1.14 (174d)
CVE-2024-1335medium · 4.3Cross-Site Request Forgery (CSRF)

ImageRecycle pdf & image compression <= 3.1.13 - Cross-Site Request Forgery to Settings Update in disableOptimization

Feb 7, 2024 Patched in 3.1.14 (174d)
CVE-2024-1336medium · 4.3Cross-Site Request Forgery (CSRF)

ImageRecycle pdf & image compression <= 3.1.13 - Cross-Site Request Forgery to Settings Update in optimizeAllOn

Feb 7, 2024 Patched in 3.1.14 (174d)
CVE-2024-0984medium · 4.3Missing Authorization

ImageRecycle pdf & image compression <= 3.1.13 - Missing Authorization to Settings Update in disableOptimization

Feb 7, 2024 Patched in 3.1.14 (174d)
CVE-2024-1090medium · 4.3Missing Authorization

ImageRecycle pdf & image compression <= 3.1.13 - Missing Authorization to Settings Update in stopOptimizeAll

Feb 7, 2024 Patched in 3.1.14 (174d)
CVE-2023-40196medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

ImageRecycle pdf & image compression <= 3.1.11 - Reflected Cross-Site Scripting

Aug 11, 2023 Patched in 3.1.12 (165d)
CVE-2023-30494medium · 6.1Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

ImageRecycle pdf & image compression <= 3.1.10 - Reflected Cross-Site Scripting

Aug 11, 2023 Patched in 3.1.11 (165d)
Code Analysis
Analyzed Mar 16, 2026

ImageRecycle pdf & image compression Code Analysis

Dangerous Functions
4
Raw SQL Queries
2
42 prepared
Unescaped Output
53
56 escaped
Nonce Checks
19
Capability Checks
15
File Operations
6
External Requests
8
Bundled Libraries
0

Dangerous Functions Found

execexec($cmd, $output, $cmdStatus);class\filesystem.php:107
execexec($cmd, $output, $cmdStatus);class\filesystem.php:122
execexec($cmd, $output, $cmdStatus);class\filesystem.php:131
exec$gs = exec($command);irfeedback\ir-check-debug-data.php:557

SQL Query Safety

95% prepared44 total queries

Output Escaping

51% escaped109 total outputs
Data Flows
2 unsanitized

Data Flow Analysis

5 flows2 with unsanitized paths
doActionRevert (class\class-image-otimizer.php:1490)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
4 unprotected

ImageRecycle pdf & image compression Attack Surface

Entry Points18
Unprotected4

AJAX Handlers 18

authwp_ajax_wpio_optimizeclass\class-image-otimizer.php:67
authwp_ajax_wpio_optimize_allclass\class-image-otimizer.php:68
authwp_ajax_wpio_stop_optimize_allclass\class-image-otimizer.php:69
authwp_ajax_wpio_optimize_all_onclass\class-image-otimizer.php:70
authwp_ajax_wpio_revertclass\class-image-otimizer.php:71
authwp_ajax_wpio_enable_optimizationclass\class-image-otimizer.php:72
authwp_ajax_wpio_disable_optimizationclass\class-image-otimizer.php:73
authwp_ajax_wpio_queue_countclass\class-image-otimizer.php:74
authwp_ajax_wpio_unqueuedclass\class-image-otimizer.php:75
authwp_ajax_wpio_dismiss_optimizeAll_noticeclass\class-image-otimizer.php:76
authwp_ajax_wpio_dismiss_optimization_disabled_noticeclass\class-image-otimizer.php:77
authwp_ajax_wpio_scan_imagesclass\class-image-otimizer.php:78
authwp_ajax_wpio_reinitializeclass\class-image-otimizer.php:79
authwp_ajax_wpio_count_imagesclass\class-image-otimizer.php:80
authwp_ajax_wpio_createAccountclass\class-image-otimizer.php:92
authwp_ajax_wpio_getFoldersclass\wpio-setting.php:42
authwp_ajax_wpio_setFoldersclass\wpio-setting.php:43
authwp_ajax__ajax_fetch_wpiowp-image-recycle.php:48
WordPress Hooks 28
actionwp_dashboard_setupclass\class-image-otimizer.php:53
filtermanage_media_columnsclass\class-image-otimizer.php:56
filterwp_generate_attachment_metadataclass\class-image-otimizer.php:59
filterwp_handle_uploadclass\class-image-otimizer.php:60
actionmanage_media_custom_columnclass\class-image-otimizer.php:63
actionadmin_menuclass\class-image-otimizer.php:65
actionadmin_print_footer_scriptsclass\class-image-otimizer.php:86
actionadmin_noticesclass\class-image-otimizer.php:87
actionadmin_enqueue_scriptsclass\class-image-otimizer.php:90
actionadmin_initclass\class-image-otimizer.php:91
actionadmin_footerclass\class-image-otimizer.php:93
actionadmin_enqueue_scriptsclass\class-image-otimizer.php:95
filterheartbeat_receivedclass\class-image-otimizer.php:96
filtercron_schedulesclass\class-image-otimizer.php:98
actionwpio_auto_optimize_hourlyclass\class-image-otimizer.php:99
actionadmin_print_footer_scriptsclass\class-image-otimizer.php:284
actionhttp_api_curlclass\ioa.class.php:53
actionhttp_api_curlclass\ioa.class.php:91
actionhttp_api_curlclass\ioa.class.php:133
actionrequests-fsockopen.after_headersclass\ioa.class.php:162
actionrequests-fsockopen.before_sendclass\ioa.class.php:186
actionload-dashboard_page_wpir-foldertreeclass\wpio-setting.php:44
actionadmin_initirfeedback\irfeedback.php:88
actioncurrent_screenirfeedback\irfeedback.php:115
actionadmin_initirfeedback\irfeedback.php:117
actionadmin_noticesirfeedback\irfeedback.php:127
actionadmin_footerirfeedback\irfeedback.php:225
actionplugins_loadedwp-image-recycle.php:33

Scheduled Events 2

wpio_auto_optimize_hourly
wpio_auto_optimize_hourly
Maintenance & Trust

ImageRecycle pdf & image compression Maintenance & Trust

Maintenance Signals

WordPress version tested6.8.5
Last updatedSep 30, 2025
PHP min version5.3
Downloads92K

Community Trust

Rating90/100
Number of ratings26
Active installs1K
Developer Profile

ImageRecycle pdf & image compression Developer Profile

ImageRecycle

1 plugin · 1K total installs

77
trust score
Avg Security Score
97/100
Avg Patch Time
139 days
View full developer profile
Detection Fingerprints

How We Detect ImageRecycle pdf & image compression

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/imagerecycle-pdf-image-compression/css/wpio-admin-style.css/wp-content/plugins/imagerecycle-pdf-image-compression/css/wpio-dashboard-style.css/wp-content/plugins/imagerecycle-pdf-image-compression/css/wpio-media-style.css/wp-content/plugins/imagerecycle-pdf-image-compression/css/wpio-style.css/wp-content/plugins/imagerecycle-pdf-image-compression/js/wpio-admin-script.js/wp-content/plugins/imagerecycle-pdf-image-compression/js/wpio-media-script.js/wp-content/plugins/imagerecycle-pdf-image-compression/js/wpio-script.js/wp-content/plugins/imagerecycle-pdf-image-compression/irfeedback/css/irfeedback.css
Script Paths
/wp-content/plugins/imagerecycle-pdf-image-compression/js/wpio-admin-script.js/wp-content/plugins/imagerecycle-pdf-image-compression/js/wpio-media-script.js/wp-content/plugins/imagerecycle-pdf-image-compression/js/wpio-script.js/wp-content/plugins/imagerecycle-pdf-image-compression/irfeedback/js/irfeedback.js
Version Parameters
imagerecycle-pdf-image-compression/css/wpio-admin-style.css?ver=imagerecycle-pdf-image-compression/css/wpio-dashboard-style.css?ver=imagerecycle-pdf-image-compression/css/wpio-media-style.css?ver=imagerecycle-pdf-image-compression/css/wpio-style.css?ver=imagerecycle-pdf-image-compression/js/wpio-admin-script.js?ver=imagerecycle-pdf-image-compression/js/wpio-media-script.js?ver=imagerecycle-pdf-image-compression/js/wpio-script.js?ver=imagerecycle-pdf-image-compression/irfeedback/css/irfeedback.css?ver=imagerecycle-pdf-image-compression/irfeedback/js/irfeedback.js?ver=

HTML / DOM Fingerprints

CSS Classes
wpio-optimizewpio-optimizedwpio-pendingwpio-errorwpio-queued
HTML Comments
<!-- WPIO_STATS_WIDGET_START --><!-- WPIO_STATS_WIDGET_END --><!-- ImageRecycle widget --><!-- WPIOCONFIG -->+5 more
Data Attributes
data-wpio-actiondata-wpio-iddata-wpio-noncedata-wpio-imgdata-wpio-statusdata-wpio-optimize-all
JS Globals
wpio_paramswpio_admin_paramswpio_media_paramswpio_ajax_objectirfeedback_params
REST Endpoints
/wp-json/wpio/v1/optimize/wp-json/wpio/v1/settings/wp-json/wpio/v1/queue/wp-json/wpio/v1/revert/wp-json/wpio/v1/scan/wp-json/wpio/v1/status
FAQ

Frequently Asked Questions about ImageRecycle pdf & image compression