WP Manifestindependent plugin directory

Install

Download conductor.zip From the 1.5.2 release on GitHub, Feb 8, 2019

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/sdsweb/conductor/releases/download/1.5.2/conductor.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

===================================================== Conductor Plugin User Guide Author: Slocum Themes/Slocum Design Studio Author URI: https://conductorplugin.com/ Version: 1.0.0 Last Updated: 06/26/2014 PDF: https://slocumthemes.com/conductor-userguide.pdf

Introduction

Thank you for using The Conductor plugin.

Conductor was born from a need that we discovered within our custom WordPress work at Slocum Studio. While building content rich sites for our clients, the desire to customize a theme’s display of content was a common request.

From site to site, we were building a use case for an easy-to-use plugin that produced a user friendly widget. Something that was powerful enough for developers, but easy enough for the common author or editor to manipulate.

The best use of WordPress is for publishing content. However, most WordPress themes display content using the same stale display. Out of the box, WordPress doesn’t allow us to curate unique collections of our content to put on display for our visitors.

Conductor changes all of that.

Leverage Conductor to make custom homepage layouts for your content or to make each category archive distinct from the other. This translates to a better visitor experience, more content consumption, and the power to promote your content the way you want to.

Slocum Studio is very proud of Conductor and we hope you enjoy using it as much as we enjoy producing it.

View the full User Guide here: http://slocumthemes.com/conductor-userguide.pdf

Releases

3 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
1.5.2 latest
Feb 8, 2019 7 years ago
conductor.zip
113
Jun 21, 2017 9 years ago
tag only
—
Jun 16, 2017 9 years ago
tag only
—
B grade

Security

Conductor 1.5.2 · audited by WP Registry

Medium-severity findings.

2 medium
Audited release
1.5.2
Findings
2
Worst severity
medium
Content hash
a62a8245bb679ca605ebffe2…

Findings

  • medium Unauthenticated REST widget query renders non-public posts via get_post() with no permission_callback

    information_disclosure

    conductor/v1/widget/query/{number} is registered for GET and POST with no permission_callback, so WordPress treats it as public. The route is on by default (Conductor_Options rest.enabled defaults true). widget_query loads the Conductor Widget instance by number from get_settings() (all instances, including inactive sidebars), requires only is_rest_api_enabled() (widget rest.enabled defaults true), then widget_rest() renders HTML. For feature-one widgets, Conductor_Widget_Default_Query::query() calls get_post($instance['post_id']) with no post_status / is_post_publicly_viewable() / current_user_can('read_post') check, then get_content_by_id() runs the_content on that post. WP_Query 'many' mode still defaults to publish, but a single-post widget that once pointed at a published piece which was later set private/draft/future continues to expose full content to uid 0. Widget numbers are sequential integers and are enumerable. Front-end AJAX pagination inserts the JSON HTML via jQuery.html(). This is not RCE and does not let an attacker pick an arbitrary post ID from the request; blast radius is every REST-enabled Conductor widget instance on the site.

    includes/class-conductor-rest-api.php:84-175

    Recommendation

    Add an explicit permission_callback (at least a public callback that still refuses widgets whose featured post is not is_post_publicly_viewable() for the current user). In Conductor_Widget_Default_Query::query(), replace bare get_post() with a readability check (post_status publish and empty post_password, or current_user_can('read_post', $id)) and skip rendering otherwise. Do not REST-enable widgets that are not assigned to a public sidebar. Consider defaulting rest.enabled to false.

  • medium Add-ons page and EDD updater disable TLS verification and trust remote bodies (admin XSS and object injection)

    insecure_config

    Conductor_Admin_Add_Ons::maybe_fetch_add_ons_list() wp_remote_post()s https://conductorplugin.com/edd-api/products/ with sslverify false, sending the site license key, a JSON list of every installed plugin (including activate/deactivate nonce URLs), and freshly created add-on install nonces. display_add_ons_list() then echo's the raw response body into wp-admin with no wp_kses. The same host is queried by Conductor_Plugin_Updater::api_request() (also sslverify false); if sections is a serialized string it is passed to maybe_unserialize(). Because certificate verification is off, an on-path attacker between the WordPress host and conductorplugin.com can (1) inject script into the Add-Ons screen and take over the administrator session and (2) supply PHP object graphs to unserialize during admin_init update checks. This is not reachable by a Subscriber; it requires intercepting the server's outbound HTTPS. Install/activate AJAX handlers still require install_plugins/activate_plugins plus a nonce, so they are not a subscriber BAC issue.

    includes/admin/class-conductor-admin-add-ons.php:574-607

    Recommendation

    Set sslverify true on all conductorplugin.com requests. Pass the add-ons HTML through wp_kses_post (or a tight allowlist) before echo. Stop sending activate/deactivate nonce URLs and license keys in the clear to the add-ons feed; generate nonces locally after render. Replace maybe_unserialize() on API sections with JSON-only decoding (or unserialize with allowed_classes => false).

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.