Ajax Load More – Infinite Scroll, Load More, & Lazy Load Security & Risk Analysis

wordpress.org/plugins/ajax-load-more

Add infinite scroll, lazy loading, and load more buttons to posts, pages, and WooCommerce products — fast and fully customizable for WordPress.

40K active installs v7.8.3 PHP 5.6+ WP 5.0+ Updated Feb 19, 2026
ajax-load-moreendless-scrollinfinite-scrolllazy-loadload-more
82
B · Generally Safe
CVEs total17
Unpatched0
Last CVEJan 30, 2026
Safety Verdict

Is Ajax Load More – Infinite Scroll, Load More, & Lazy Load Safe to Use in 2026?

Mostly Safe

Score 82/100

Ajax Load More – Infinite Scroll, Load More, & Lazy Load is generally safe to use. 17 past CVEs were resolved.

17 known CVEsLast CVE: Jan 30, 2026Updated 2mo ago
Risk Assessment

The 'ajax-load-more' v7.8.3 plugin exhibits a concerning security posture. While it demonstrates some positive practices like a reasonable percentage of properly escaped output and the absence of dangerous functions, significant risks are present. The static analysis reveals a notable attack surface with 7 AJAX handlers, 2 of which lack authentication checks, presenting clear entry points for unauthorized actions. Furthermore, the taint analysis indicates flows with unsanitized paths, suggesting potential vulnerabilities like path traversal if these flows are not properly handled. The plugin's vulnerability history is particularly alarming, with a substantial number of known CVEs (17) across a wide range of critical to medium severity types, including improper authorization, cross-site scripting, path traversal, SQL injection, and remote file inclusion. The presence of critical and high-severity vulnerabilities in its past, even though none are currently unpatched, suggests a recurring pattern of security weaknesses. The latest reported vulnerability date (2026-01-30) is in the future, which is likely an anomaly in the data, but it doesn't negate the historical severity of past issues.

In conclusion, while the plugin has some strengths, the combination of unprotected AJAX endpoints, unsanitized path flows, and a history rife with severe vulnerabilities demands caution. The potential for attackers to exploit the unprotected AJAX handlers or unsanitized paths to trigger previously identified vulnerability types is a significant concern. Users should carefully weigh the benefits of this plugin against the potential security risks and ensure they are using the absolute latest available, patched version. The historical pattern of severe vulnerabilities indicates that ongoing vigilance and prompt updates are crucial if this plugin is to be used.

Key Concerns

  • AJAX handlers without auth checks
  • Taint flows with unsanitized paths
  • 1 critical CVE in history
  • 3 high CVEs in history
  • 13 medium CVEs in history
  • Low percentage of prepared SQL statements
Vulnerabilities
17 published

Ajax Load More – Infinite Scroll, Load More, & Lazy Load Security Vulnerabilities

CVEs by Year

1 CVE in 2015
2015
1 CVE in 2016
2016
1 CVE in 2020
2020
4 CVEs in 2022
2022
2 CVEs in 2023
2023
4 CVEs in 2024
2024
3 CVEs in 2025
2025
1 CVE in 2026
2026
Patched Has unpatched

Severity Breakdown

Critical
1
High
3
Medium
13

17 total CVEs

CVE-2025-15525medium · 5.3Incorrect Authorization

Ajax Load More – Infinite Scroll, Lazy Load & Load More <= 7.8.1 - Incorrect Authorization to Unauthenticated Private/Draft Post Title and Excerpt Exposure

Jan 30, 2026 Patched in 7.8.2 (1d)
CVE-2025-59582medium · 5.3Exposure of Sensitive Information to an Unauthorized Actor

Ajax Load More <= 7.6.0.2 - Unauthenticated Sensitive Information Exposure

Sep 22, 2025 Patched in 7.6.1 (5d)
CVE-2025-4775medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

WordPress Infinite Scroll – Ajax Load More <= 7.4.0.1 - Authenticated(Contributor+) Stored Cross-Site Scripting

Jun 16, 2025 Patched in 7.4.1 (1d)
CVE-2025-47630medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Ajax Load More <= 7.3.1.2 - Authenticated (Contributor+) Stored Cross-Site Scripting

May 7, 2025 Patched in 7.3.1.3 (10d)
CVE-2024-8505medium · 6.4Improper Neutralization of Alternate XSS Syntax

WordPress Infinite Scroll - Ajax Load More <= 7.1.2 - Authenticated (Contributor+) Stored Cross-Site Scripting via button_label Parameter

Oct 1, 2024 Patched in 7.1.3 (1d)
CVE-2024-4711medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

WordPress Infinite Scroll – Ajax Load More <= 7.1.1 - Authenticated (Contributor+) Cross-Site Scripting

May 31, 2024 Patched in 7.1.2 (1d)
WF-a9bbcb41-d604-45ec-a36a-4b41e8f7a508-ajax-load-moremedium · 4.4Incomplete Denylist to Cross-Site Scripting

Ajax Load More <= 7.0.1 - Authenticated (Administrator+) Stored Cross-Site Scripting

Mar 28, 2024 Patched in 7.0.2 (1d)
CVE-2024-1790medium · 4.9Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Ajax Load More <= 7.0.1 - Authenticated (Admin+) Directory Traversal to Arbitrary File Read

Mar 26, 2024 Patched in 7.1.0 (15d)
CVE-2023-50874medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

WordPress Infinite Scroll – Ajax Load More <= 6.1.0.1 - Authenticated (Contributor+) Stored Cross-Site Scripting

Dec 22, 2023 Patched in 6.2 (53d)
CVE-2022-4466medium · 6.4Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

WordPress Infinite Scroll - Ajax Load More <= 5.6.0.2 - Authenticated (Contributor+) Stored Cross Site Scripting via Shortcode

Feb 27, 2023 Patched in 5.6.0.3 (330d)
WF-4f1cf0f3-faf2-43f7-a641-95bfa5d73ca8-ajax-load-moremedium · 4.9Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Infinite Scroll – Ajax Load More <= 5.5.4 - Authenticated (Admin+) Arbitrary File Read via Directory Traversal

Aug 31, 2022 Patched in 5.5.4.1 (510d)
CVE-2022-2433high · 7.5Deserialization of Untrusted Data

WordPress Infinite Scroll – Ajax Load More <= 5.5.3 - Cross-Site Request Forgery to PHAR Deserialization

Aug 22, 2022 Patched in 5.5.4 (1096d)
CVE-2022-2943medium · 4.9Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

WordPress Infinite Scroll – Ajax Load More <= 5.5.3 - Authenticated (Admin+) Arbitrary File Read

Aug 22, 2022 Patched in 5.5.4 (519d)
CVE-2022-2945medium · 4.9Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

WordPress Infinite Scroll – Ajax Load More <= 5.5.3 - Directory Traversal

Aug 22, 2022 Patched in 5.5.4 (519d)
CVE-2021-24140high · 7.2Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')

Ajax Load More plugin < 5.3.2 - SQL Injection

May 18, 2020 Patched in 5.3.2 (1345d)
WF-c1bb3ab9-afbb-40e7-967a-45f737777dcf-ajax-load-morecritical · 9.8Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion')

Ajax Load More < 2.11.2 - Local File Inclusion

Aug 15, 2016 Patched in 2.11.2 (2717d)
CVE-2015-10140high · 8.8Unrestricted Upload of File with Dangerous Type

WordPress Infinite Scroll – Ajax Load More <= 2.8.1.1 - Arbitrary File Upload

Oct 10, 2015 Patched in 2.8.1.2 (3577d)
Version History

Ajax Load More – Infinite Scroll, Load More, & Lazy Load Release Timeline

Code Analysis
Analyzed Mar 16, 2026

Ajax Load More – Infinite Scroll, Load More, & Lazy Load Code Analysis

Dangerous Functions
0
Raw SQL Queries
8
2 prepared
Unescaped Output
114
325 escaped
Nonce Checks
6
Capability Checks
11
File Operations
13
External Requests
1
Bundled Libraries
0

SQL Query Safety

20% prepared10 total queries

Output Escaping

74% escaped439 total outputs
Data Flows · Security
2 unsanitized

Data Flow Analysis

4 flows2 with unsanitized paths
license_activation (admin\classes\licensing.php:42)
Source (user input) Sink (dangerous op) Sanitizer Transform Unsanitized Sanitized
Attack Surface
2 unprotected

Ajax Load More – Infinite Scroll, Load More, & Lazy Load Attack Surface

Entry Points8
Unprotected2

AJAX Handlers 7

authwp_ajax_alm_set_transientadmin\admin.php:92
authwp_ajax_alm_get_tax_termsadmin\admin.php:601
authwp_ajax_alm_get_layoutadmin\functions\layouts.php:78
authwp_ajax_alm_save_repeateradmin\functions\templates.php:118
authwp_ajax_alm_update_repeateradmin\functions\templates.php:158
authwp_ajax_alm_get_postsajax-load-more.php:68
noprivwp_ajax_alm_get_postsajax-load-more.php:69

Shortcodes 1

[ajax_load_more] ajax-load-more.php:80
WordPress Hooks 34
actionadmin_initadmin\admin.php:32
actionadmin_menuadmin\admin.php:327
actionadmin_enqueue_scriptsadmin\admin.php:452
filteradmin_footer_textadmin\admin.php:638
actionadmin_initadmin\classes\licensing.php:23
actionadmin_noticesadmin\classes\licensing.php:24
actionafter_plugin_rowadmin\classes\licensing.php:25
actionadmin_noticesadmin\classes\nag.php:85
actionadmin_noticesadmin\classes\notices.php:25
filterwp_kses_allowed_htmladmin\classes\notices.php:26
actionalm_get_layoutsadmin\functions\layouts.php:88
actionadmin_initadmin\functions\plugin-updates.php:27
actionadmin_initadmin\functions\settings.php:144
actionadmin_initadmin\functions\templates.php:197
actionwpmu_new_blogajax-load-more.php:45
actionwp_enqueue_scriptsajax-load-more.php:70
actionafter_setup_themeajax-load-more.php:71
actioninitajax-load-more.php:72
filteralm_noscriptajax-load-more.php:74
filteralm_noscript_paginationajax-load-more.php:75
filterplugin_row_metaajax-load-more.php:77
filterwidget_textajax-load-more.php:78
actioninitcore\classes\class-alm-blocks.php:24
actionenqueue_block_editor_assetscore\classes\class-alm-blocks.php:25
filterblock_categories_allcore\classes\class-alm-blocks.php:26
actiontemplate_redirectcore\classes\class-alm-preview.php:25
actionwp_footercore\classes\class-alm-shortcode.php:1459
filteralm_masonry_beforecore\functions\masonry.php:18
filteralm_masonry_aftercore\functions\masonry.php:30
filteralm_progress_csscore\functions.php:37
actionelementor/elements/categories_registeredcore\integration\elementor\elementor.php:25
actionplugins_loadedcore\integration\elementor\elementor.php:28
actionelementor/frontend/after_register_scriptscore\integration\elementor\module\plugin.php:90
actionelementor/widgets/registercore\integration\elementor\module\plugin.php:93
Maintenance & Trust

Ajax Load More – Infinite Scroll, Load More, & Lazy Load Maintenance & Trust

Maintenance Signals

WordPress version tested6.9.4
Last updatedFeb 19, 2026
PHP min version5.6
Downloads2.4M

Community Trust

Rating96/100
Number of ratings287
Active installs40K
Developer Profile

Ajax Load More – Infinite Scroll, Load More, & Lazy Load Developer Profile

Darren Cooney

9 plugins · 47K total installs

78
trust score
Avg Security Score
98/100
Avg Patch Time
629 days
View full developer profile
Detection Fingerprints

How We Detect Ajax Load More – Infinite Scroll, Load More, & Lazy Load

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

Asset Fingerprints

Asset Paths
/wp-content/plugins/ajax-load-more/build/frontend/ajax-load-more.min.css/wp-content/plugins/ajax-load-more/build/frontend/ajax-load-more.min.js
Script Paths
/wp-content/plugins/ajax-load-more/build/frontend/ajax-load-more.min.js
Version Parameters
ajax-load-more/build/frontend/ajax-load-more.min.css?ver=ajax-load-more/build/frontend/ajax-load-more.min.js?ver=

HTML / DOM Fingerprints

CSS Classes
alm-containeralm-loadingalm-loadedalm-finishedalm-btn
HTML Comments
Ajax Load MoreALMAjax Load More - Core FunctionsAjax Load More - Enqueue+11 more
Data Attributes
data-alm-iddata-button-textdata-post-typedata-post-formatdata-taxonomydata-term+42 more
JS Globals
almFilterQueryalmObjalmUrlalmNoncealmLang
REST Endpoints
/wp-json/ajaxloadmore/v1/query
Shortcode Output
[ajax_load_more
FAQ

Frequently Asked Questions about Ajax Load More – Infinite Scroll, Load More, & Lazy Load