Bug Report: [Closed] cPanel WP Toolkit Does Not Work With Plugins With Slashes In Their Name


In an effort to prove to myself that I am actually trying to do work this month, I’m making a note of all the bugs in 3rd party software I find.

Today is a bug reported to cPanel Inc on the 4th June 2022 under their tracking request ID 94452913 affecting their WordPress Toolkit cPanel module which has a problem with slashes in plugin names.

Initial bug report

If a WordPress plugin’s name has a forward slash in it (due to the plugin folder containing multiple applicable plugin files), the name is subject to filtering before it is changed to a “pluginId” and the frontend and backends of WP Toolkit cannot recognise the plugin consistently.

Reproduction steps

1. Install WordPress

2. Install a plugin such as https://en-gb.wordpress.org/plugins/media-library-plus/ (which I’ll use for examples from here on)

3. This creates …/wp-content/plugins/media-library-plus/maxgelleria-media-library.php and ../wp-content/plugins/media-library-plus/mlp-reset.php

[Aside, running WP-Toolkit CLI shows:

# wp-toolkit --wp-cli -instance-id 8 -- plugin list

...

media-library-plus/maxgalleria-media-library    active  none    7.1.0
media-library-plus/mlp-reset    inactive        none    7.1.0
...

]

4. Use the WP-Toolkit web application in either cPanel or WHM

5. Find the site and plugin and try and enable the autoupdate facility

[Aside, the browser will make a request such as:

POST .../3rdparty/wpt/index.php?action=/set-plugins-auto-updates

instanceId: 8

value: true

pluginIds[0] bWVkaWEtbGlicmFyeS1wbHVzbWF4Z2FsbGVyaWEtbWVkaWEtbGlicmFyeWA3LjEuMA==

where the PlugIn id is actually a base64 encoded version of “media-library-plusmaxgalleria-media-library`7.1.0”

6. The server will respond:

{"status":"error",
"data":null,
"message":"Plugin 'media-library-plusmaxgalleria-media-library' not found on 'WordPress installation #8 ('https:\/\/xxx')'",
formErrors":[]
}

[Aside: if you were to mangle the request to send the correct base64 encoded value, you will get a “200 OK” response back]

Request for more information

Additional information was requested by cPanel Inc a day later asking for the details of which version of the WordPress Toolkit was installed on the server.

# rpm -q wp-toolkit-cpanel
wp-toolkit-cpanel-5.11.1-6331.x86_64
# /usr/local/cpanel/cpanel -V
104.0 (build 3)

Their Findings

Their support staff found this actually had 3 different suberrors:

When you try to enable Folders Reset you get this error:

Plugin 'media-library-plusmlp-reset' not found on 'E-Commerce Revolution'

When you try to enable auto-update on Folders Reset you get this error:

Plugin 'media-library-plusmlp-reset' not found on 'WordPress installation

When you try to enable auto-update on Media Library Folders you get:

Plugin 'media-library-plusmaxgalleria-media-library' not found on 'WordPress installation

Resolution

The technician did reply:

It has been passed to the WordPress Toolkit team for resolution. There is currently no known ETA.

They did create a knowledgebase article which read(s):

Symptoms

After installing plugin media-library-plus via the WordPress Toolkit interface, the plugins cannot be enabled for auto-update. Multiple errors can appear depending on the action applied after installing the plugin.

When you try to enable Folders Reset plugin:

- Plugin 'media-library-plusmlp-reset' not found

 When you try to enable auto-update on Folders Reset plugin:

- Plugin 'media-library-plusmlp-reset' not found

When you try to enable auto-update on Media Library Folders plugin:

- Plugin 'media-library-plusmaxgalleria-media-library' not found

Description

WordPress Toolkit allows users to enable the auto-update feature for installed plugins. It is suspected that plugins with slashes in their name cannot be enabled for auto-update inside of the WordPress Toolkit interface. It isn’t 100% clear why this issue occurs.

We’ve opened an internal case for the WordPress Toolkit development team to investigate this further. Follow this article to receive an email notification when a solution is published in the product.

Workaround

None are known at this time


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.