{"id":59721,"date":"2025-07-29T04:50:22","date_gmt":"2025-07-29T04:50:22","guid":{"rendered":""},"modified":"2025-09-26T14:04:59","modified_gmt":"2025-09-26T20:04:59","slug":"cve-2015-10140-unauthorized-file-upload-and-deletion-vulnerability-in-ajax-load-more-plugin","status":"publish","type":"post","link":"https:\/\/www.ameeba.com\/blog\/cve-2015-10140-unauthorized-file-upload-and-deletion-vulnerability-in-ajax-load-more-plugin\/","title":{"rendered":"<strong>CVE-2015-10140: Unauthorized File Upload and Deletion Vulnerability in Ajax Load More Plugin<\/strong>"},"content":{"rendered":"<p><strong>Overview<\/strong><\/p>\n<p>The vulnerability CVE-2015-10140 is a serious cybersecurity issue that affects the Ajax Load More plugin versions prior to 2.8.1.2. This plugin, widely used for loading more content via AJAX calls, failed to sufficiently authorize some of its AJAX actions. This flaw allows any authenticated users, even those with the low-level subscriber role, to <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-7340-critical-arbitrary-file-upload-vulnerability-in-ht-contact-form-widget-for-wordpress\/\"  data-wpil-monitor-id=\"66360\">upload and delete arbitrary files<\/a> on the system. This kind of vulnerability is a significant threat to any website running the affected versions of the plugin, potentially <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-7793-critical-vulnerability-in-tenda-fh451-leading-to-system-compromise\/\"  data-wpil-monitor-id=\"69243\">leading to system<\/a> compromise or data leakage.<\/p>\n<p><strong>Vulnerability Summary<\/strong><\/p>\n<p>CVE ID: CVE-2015-10140<br \/>\nSeverity: High (8.8 CVSS v3 Score)<br \/>\nAttack Vector: Network<br \/>\nPrivileges Required: Low<br \/>\nUser Interaction: Required<br \/>\nImpact: <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-7837-critical-vulnerability-in-totolink-t6-potentially-leading-to-system-compromise\/\"  data-wpil-monitor-id=\"71131\">System compromise and potential<\/a> data leakage<\/p>\n<p><strong>Affected Products<\/strong><\/p><div id=\"ameeb-738752771\" class=\"ameeb-content-2 ameeb-entity-placement\"><div style=\"border-left: 4px solid #555; padding-left: 20px; margin: 48px 0; font-family: Roboto, sans-serif; color: #ffffff; line-height: 1.6; max-width: 700px;\">\r\n  <h2 style=\"margin-top: 0; font-size: 20px; font-weight: 600; display: flex; align-items: center;\">\r\n    <a href=\"https:\/\/www.ameeba.com\/chat\" style=\"display: inline-flex; align-items: center; margin-right: 8px;\">\r\n      <img decoding=\"async\" src=\"https:\/\/www.ameeba.com\/blog\/wp-content\/uploads\/2025\/10\/Best-App-icon-Ameeba.png\" alt=\"Ameeba Chat Icon\" style=\"width: 40px; height: 40px;\" \/>\r\n    <\/a>\r\n    A new way to communicate\r\n  <\/h2>\r\n\r\n  <p style=\"margin-bottom: 12px;\">\r\n    Ameeba Chat is built on encrypted identity, not personal profiles.\r\n  <\/p>\r\n\r\n  <p style=\"margin-bottom: 16px;\">\r\n    Message, call, share files, and coordinate with identities kept separate.\r\n  <\/p>\r\n\r\n  <ul style=\"list-style: none; padding-left: 0; margin-bottom: 20px;\">\r\n    <li>\u2022 Encrypted identity<\/li>\r\n    <li>\u2022 Ameeba Chat authenticates access<\/li>\r\n    <li>\u2022 Aliases and categories<\/li>\r\n    <li>\u2022 End-to-end encrypted chat, calls, and files<\/li>\r\n    <li>\u2022 Secure notes for sensitive information<\/li>\r\n  <\/ul>\r\n\r\n  <p style=\"font-style: italic; font-weight: 600; margin-bottom: 24px;\">\r\n    Private communication, rethought.\r\n  <\/p>\r\n\r\n  <div style=\"display: flex; flex-wrap: wrap; gap: 12px;\">\r\n    <a href=\"https:\/\/www.ameeba.com\/chat\/download\" style=\"background-color: #ffffff; color: #000000; padding: 10px 20px; text-decoration: none; border-radius: 6px; font-weight: 500;\">Download Ameeba Chat<\/a>\r\n    <a href=\"https:\/\/www.ameeba.com\/chat\" style=\"border: 1px solid #ffffff; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 6px; font-weight: 500;\">Learn More<\/a>\r\n  <\/div>\r\n<\/div>\r\n<\/div>\n<p>Product | Affected Versions<\/p>\n<p>Ajax Load More Plugin | Before 2.8.1.2<\/p>\n<p><strong>How the Exploit Works<\/strong><\/p>\n<p>This <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2024-7457-macos-authorization-model-exploit-leading-to-potential-mitm-attacks\/\"  data-wpil-monitor-id=\"80103\">exploit takes advantage of the lack of proper authorization<\/a> checks in some of the AJAX actions implemented by the Ajax Load More plugin. Specifically, an authenticated user, such as a subscriber, can send a specially crafted AJAX request to <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-6058-critical-arbitrary-file-upload-vulnerability-in-wpbookit-wordpress-plugin\/\"  data-wpil-monitor-id=\"66466\">upload or delete arbitrary files<\/a> on the server. The <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-41668-critical-file-replacement-leading-to-unauthorized-access\/\"  data-wpil-monitor-id=\"66278\">unauthorized file<\/a> upload can be used to deploy malicious scripts or web shells, while the file deletion capability can lead to data loss or disruption of website functionality.<\/p>\n<p><strong>Conceptual Example Code<\/strong><\/p><div id=\"ameeb-1649377347\" class=\"ameeb-content ameeb-entity-placement\"><div class=\"poptin-embedded\" data-id=\"f6b387694f681\"><\/div>\r\n\r\n\r\n\r\n\r\n\r\n<\/div>\n<p>The following conceptual HTTP <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-52362-critical-server-side-request-forgery-vulnerability-in-phproxy\/\"  data-wpil-monitor-id=\"71130\">request demonstrates how the vulnerability<\/a> might be exploited:<\/p>\n<pre><code class=\"\" data-line=\"\">POST \/wp-admin\/admin-ajax.php?action=alm_save_repeater&amp;nonce=1234567890 HTTP\/1.1\nHost: vulnerable-website.com\nContent-Type: multipart\/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW\n------WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=&quot;template&quot;\n&lt;?php system($_GET[&#039;cmd&#039;]); ?&gt;\n------WebKitFormBoundary7MA4YWxkTrZu0gW<\/code><\/pre>\n<p>In this example, a malicious actor uses the `alm_save_repeater` AJAX action provided by the Ajax Load More plugin to upload a <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-52809-php-remote-file-inclusion-vulnerability-in-national-weather-service-alerts\/\"  data-wpil-monitor-id=\"65950\">PHP file<\/a> that allows arbitrary command execution on the server.<\/p>\n<p><strong>Mitigation<\/strong><\/p>\n<p>To mitigate this vulnerability, users are advised to update the Ajax Load More <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-6380-privilege-escalation-vulnerability-in-onlyoffice-docs-plugin-for-wordpress\/\"  data-wpil-monitor-id=\"69242\">plugin to version 2.8.1.2 or later where this vulnerability<\/a> has been fixed. If updating is not immediately possible, <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-50738-memos-application-vulnerability-allows-for-unauthorized-user-information-disclosure\/\"  data-wpil-monitor-id=\"69606\">users can consider using a Web Application<\/a> Firewall (WAF) or Intrusion Detection System (IDS) as a temporary mitigation measure. It is also recommended to regularly <a href=\"https:\/\/www.ameeba.com\/blog\/cve-2025-6791-sql-injection-vulnerability-in-centreon-web-monitoring-event-logs-module\/\"  data-wpil-monitor-id=\"84106\">monitor system logs<\/a> and audit any suspicious activities.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview The vulnerability CVE-2015-10140 is a serious cybersecurity issue that affects the Ajax Load More plugin versions prior to 2.8.1.2. This plugin, widely used for loading more content via AJAX calls, failed to sufficiently authorize some of its AJAX actions. This flaw allows any authenticated users, even those with the low-level subscriber role, to upload [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"footnotes":""},"categories":[1],"tags":[],"vendor":[],"product":[],"attack_vector":[80],"asset_type":[],"severity":[],"exploit_status":[],"class_list":["post-59721","post","type-post","status-publish","format-standard","hentry","category-uncategorized","attack_vector-rce"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/posts\/59721","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/comments?post=59721"}],"version-history":[{"count":9,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/posts\/59721\/revisions"}],"predecessor-version":[{"id":76890,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/posts\/59721\/revisions\/76890"}],"wp:attachment":[{"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/media?parent=59721"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/categories?post=59721"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/tags?post=59721"},{"taxonomy":"vendor","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/vendor?post=59721"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/product?post=59721"},{"taxonomy":"attack_vector","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/attack_vector?post=59721"},{"taxonomy":"asset_type","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/asset_type?post=59721"},{"taxonomy":"severity","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/severity?post=59721"},{"taxonomy":"exploit_status","embeddable":true,"href":"https:\/\/www.ameeba.com\/blog\/wp-json\/wp\/v2\/exploit_status?post=59721"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}