Safeguard
Vulnerability Analysis•

CVE-2023-6985: Medium Missing Authorization in 10Web AI Assistant

CVE-2023-6985 lets a subscriber install plugins via 10Web AI Assistant up to 1.0.18. Update past 1.0.18 or remove it, and audit your installed plugins.

Safeguard Security Team
4 min read

CVE-2023-6985 is a medium severity (CVSS 6.5) missing authorization flaw in the 10Web AI Assistant plugin for WordPress, versions up to and including 1.0.18. Subscribers can install arbitrary plugins. Update beyond 1.0.18, or remove the plugin. Check which plugins your site has installed.

What's affected

The record says all versions up to and including 1.0.18 are affected. The flaw is a missing capability check on the install_plugin AJAX action, and any authenticated user with subscriber access or above can use it.

The referenced WordPress.org changeset and Wordfence pages did not load for automated reading, so the fixed version is not named here. Any release above 1.0.18 is the starting point.

How to check if you're exposed

Run these from your WordPress root with WP-CLI. They only read.

wp plugin list --fields=name,status,version,update
wp plugin get ai-assistant-by-10web --field=version

Versions up to and including 1.0.18 are affected. If WP-CLI is not available, open Plugins in the dashboard and read the version under the plugin name. Also check staging copies, old backups restored to test sites, and multisite networks, where the plugin may be installed on only some sites.

Also list every installed plugin and look for any you did not add: wp plugin list --fields=name,status,version.

What to do now

  1. Update the plugin: wp plugin update ai-assistant-by-10web, or use the Plugins screen. Confirm the version is above 1.0.18.
  2. If no fixed release is available, deactivate and delete the plugin and use a maintained alternative.
  3. Review the site's user list and recent changes for anything you do not recognize, and rotate credentials the plugin handled.
  4. Keep automatic updates on for plugins that handle sensitive data, and remove plugins you no longer use.
  5. Audit installed plugins for ones nobody on your team added, and remove them.

Why it matters

The description says the install_plugin AJAX action has no capability check. Installing a plugin means placing PHP code on the server, so letting a low-privilege user do it is a path to full control, which is why the record says the plugin can be used to gain further access. The CVSS score is medium because the attacker must install a plugin that has a useful flaw or purpose.

Missing authorization is one of the most common plugin flaws. A handler is wired to a web request, it does real work, and it never asks whether the person calling it is allowed to. Logging in is not the same as being permitted. Any account on the site, even the lowest role, can reach code that was written with administrators in mind.

Patch priority depends on who can reach the flaw. Issues open to anonymous visitors come first, then issues that need a low-privilege account, then issues that need an administrator. Use the access level in the description to place this item in your queue, and write down the date you updated so you can answer later when someone asks whether a given site was exposed.

Weakness class in the record: CWE-862 (Missing Authorization).

Quick check

Why is this only medium?

The score reflects that the attacker needs an account first and then a second step. In practice, installing a chosen plugin can go much further than the score implies.

How do I find every site that runs this plugin?

Check your hosting dashboards and any site management tool, and run the WP-CLI commands above on each install. Agencies and hosts often forget staging copies and sites inherited from clients.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.