Cloudanix VulnDB

CVE-2025-6389

Critical · 9.8

CVSS

9.8

EPSS

76.1%

Published

Nov 25, 2025

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Attend

Attackers can take over vulnerable WordPress websites remotely and use them to steal data, add hidden access, or change site content.

Weaponized
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Full Compromise
Component
Application
Class
RCE
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

CVE-2025-6389 is an unauthenticated remote code execution vulnerability in the Sneeit Framework plugin for WordPress, affecting versions up to and including 8.3. The vulnerable sneeit_articles_pagination_callback() function accepts attacker-controlled input and passes it to call_user_func(), allowing a remote attacker to invoke unintended PHP functions or callable code paths. Because exploitation requires no authentication, no user interaction, and only network access to the WordPress site, successful exploitation can result in arbitrary server-side code execution with the privileges of the web server/PHP process, including file modification, web shell deployment, credential theft, database access, plugin/theme tampering, or creation of new WordPress administrator accounts.

Why it matters to the business

A compromised WordPress site can be taken over completely, defaced, used to host malware or phishing content, added to botnets, or used as a foothold into adjacent infrastructure. The high CVSS score, high EPSS probability, and weaponized exploit maturity indicate elevated real-world exploitation risk even though this issue is not currently listed in CISA KEV. Organizations running the affected plugin may face website downtime, data exposure, reputational harm, SEO blacklisting, fraudulent administrator access, and incident response costs.

How an attack unfolds

An attacker first identifies WordPress sites running the Sneeit Framework plugin, commonly by probing plugin paths, public WordPress metadata, or known plugin assets. The attacker then sends a crafted unauthenticated HTTP request to the vulnerable pagination callback path, likely through WordPress AJAX handling, supplying input that is later passed to PHP call_user_func(). By controlling the callable or arguments, the attacker causes the server to execute unintended code. After initial execution, the attacker typically establishes persistence by uploading a PHP web shell, modifying theme or plugin files, adding malicious code to wp-config.php or functions.php, or creating a new administrator account. Follow-on activity may include credential harvesting, spam injection, redirect malware, database dumping, or use of the server for further attacks. Reported exploitation activity is tracked under campaigns exploiting CVE-2025-6389 in Sneeit Framework, so defenders should assume opportunistic scanning and automated exploitation are plausible.

How to fix it

Immediately remove or disable the Sneeit Framework plugin if it is not required. If a patched version newer than 8.3 is available from the vendor or trusted distribution source, upgrade to that version immediately; the provided advisory data does not include an exact fixed version. If no fixed version is available, keep the plugin disabled until a verified patch is released. Restrict direct access to WordPress AJAX endpoints where feasible using a WAF or reverse proxy rule, but do not treat filtering as a complete fix. Review the WordPress installation for newly added administrator users, modified plugin/theme files, unknown PHP files, unexpected scheduled tasks, and malicious redirects. Rotate WordPress administrator passwords, database credentials, API keys, and hosting credentials if compromise is suspected.

How to confirm the fix worked

Confirm that the Sneeit Framework plugin is not installed, is disabled, or is upgraded to a vendor-confirmed fixed version newer than 8.3. Check the plugin version from the WordPress admin interface, the plugin directory metadata, or command-line tooling such as WP-CLI where available. Validate that unauthenticated requests to the vulnerable pagination callback no longer reach code that passes user-controlled values into call_user_func(). Review web server, PHP, and WordPress logs for prior suspicious requests to admin-ajax.php involving Sneeit pagination actions or unusual function/callback parameters. Perform file integrity checks against a known-good WordPress core, plugin, and theme baseline, and verify there are no unauthorized administrator accounts.

Typical attack path

  1. Scan the internet for WordPress sites exposing Sneeit Framework plugin files or behavior.
  2. Confirm the site is running an affected Sneeit Framework version up to and including 8.3.
  3. Send a crafted unauthenticated request to the vulnerable article pagination callback functionality.
  4. Abuse attacker-controlled input passed into call_user_func() to execute unintended PHP code or functions.
  5. Write a persistent PHP web shell or modify existing WordPress theme/plugin files.
  6. Create or elevate a WordPress administrator account to maintain access.
  7. Use the compromised site for data theft, spam, malware hosting, redirects, or lateral movement attempts.

How to detect it

To determine whether exploitation already occurred, review HTTP access logs, WAF logs, CDN logs, PHP error logs, WordPress debug logs, authentication logs, and file integrity monitoring data. Focus on unauthenticated POST or GET requests to /wp-admin/admin-ajax.php around the Sneeit article pagination functionality, especially requests containing action names related to sneeit articles or pagination, callback/function parameters, encoded PHP payloads, or shell metacharacters. Look for successful responses followed by file writes under wp-content, new or modified PHP files, changes to active theme files, unexpected administrator account creation, suspicious plugin installation, or anomalous outbound network connections from the web server. Review WordPress user records and audit logs for new admin accounts created soon after suspicious HTTP requests. Examine filesystem timestamps for recently modified .php files under wp-content/plugins, wp-content/themes, wp-content/uploads, and the WordPress root. PHP logs may show warnings or errors mentioning call_user_func(), undefined functions, or sneeit_articles_pagination_callback() during failed exploitation attempts.

  • sneeit_articles_pagination_callback
  • action=sneeit_articles_pagination
  • /wp-admin/admin-ajax.php
  • call_user_func()
  • call_user_func():
  • wp-content/plugins/sneeit-framework/
  • /wp-content/plugins/sneeit-framework/
  • wp-content/uploads/*.php
  • wp-content/uploads/*/*.php
  • wp-content/themes/*/functions.php
  • wp-content/mu-plugins/*.php
  • wp-config.php
  • eval(
  • base64_decode(
  • shell_exec(
  • system(
  • passthru(
  • assert(
  • preg_replace('/.*?/e'
  • FilesMan
  • WSO
  • c99shell
  • r57shell

What your security team should do

  • Prioritize this issue as urgent because the exploit is weaponized, remotely reachable, unauthenticated, and has a high EPSS score.
  • Inventory all externally reachable WordPress sites and identify any running Sneeit Framework version 8.3 or earlier.
  • Disable or remove the plugin immediately where a verified fixed version is not available.
  • If a vendor-confirmed fixed release newer than 8.3 exists, upgrade and then clear caches, OPcache, and CDN edge content as appropriate.
  • Deploy temporary WAF rules to block suspicious unauthenticated requests to WordPress AJAX endpoints containing Sneeit pagination actions, callback parameters, PHP function names, shell metacharacters, or encoded payloads.
  • Hunt for post-exploitation artifacts including new administrator users, PHP web shells, recently modified theme/plugin files, suspicious cron events, and outbound connections from the web server.
  • Rotate WordPress, database, hosting control panel, SSH/SFTP, and API credentials if exploitation is suspected or confirmed.
  • Increase monitoring of WordPress authentication events, plugin/theme file modifications, and HTTP POST requests to admin-ajax.php for at least 30 days after remediation.

The record

The Sneeit Framework plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 8.3 via the sneeit_articles_pagination_callback() function. This is due to the function accepting user input and then passing that through call_user_func(). This makes it possible for unauthenticated attackers to execute code on the server which can be leveraged to inject backdoors or, for example, create new administrative user accounts.

Affected packages

Ecosystem Package Introduced Fixed

Related vulnerabilities