If you have SSH access, it would be more simple to apply the patch via SSH.
If you have no SSH access to apply the patch, you can simply upgrade your installation to Magento 1.9.2.2 version which includes all the latest security patches (SUPEE-5344, SUPEE-5994, SUPEE-6285, SUPEE-6482, SUPEE-6788). If Magento upgrade is not possible in the moment due to some reason you still can apply the patch via FTP/sFTP upload as shown in this article.

Before applying this patch, make sure to apply all previous patches.

If you wish to save time and have us to install these patches for you, simply click here to order installation.

Preparations

Warning: This patch may break some third-party modules that makes extensive use of custom variables and custom admin routes. Refer to community maintained list of all known incompatible extensions.

  • Disable Magento Compiler and clear compiler cache
  • Update all third-party extensions, disable and uninstall any unused extensions.
  • Install all previous patches (namely, SUPEE-1533, SUPEE-5344, SUPEE-5994, SUPEE-6285, SUPEE-6482)

Applying Magento patches via FTP/sFTP or FileManager / File Upload

To apply patches in this way we simply replace changed files. This way can not be used blindly if you or your developers have changed any core Magento files (which is a big no-no, by the way). Such changes should be re-applied to patched files, or you loose these changes.

The following files are changed by SUPEE-6788

To install the patch via FTP/File Upload

  • select patch bundle archive corresponding to your Magento version from the table below and unpack it
  • upload all files and folders to Magento root directory of your store, replacing all files
  • delete dev/tests/functional/.htaccess from your store (if exists)

Downloads for other versions added to table on demand when we patch certain version via file upload for the first time.

Magento version SUPEE-6788
Magento 1.9.2.1 SUPEE-6788-1.9.2.1
Magento 1.9.2.0 SUPEE-6788-1.9.2.0
Magento 1.9.1.1 SUPEE-6788-1.9.1.1
Magento 1.9.1.0 SUPEE-6788-1.9.1.1
Magento 1.9.0.1 SUPEE-6788-1.9.1.0
Magento 1.8.1.0 SUPEE-6788-1.8.1.0
Magento 1.8.0.0 SUPEE-6788-1.8.0.0
Magento 1.7.0.2 SUPEE-6788-1.7.0.2
Magento 1.6.2.0 SUPEE-6788-1.6.2.0
Magento 1.6.1.0 SUPEE-6788-1.6.1.0
Magento 1.5.1.0 SUPEE-6788-1.5.1.0

Verification and flush of PHP opcode cache

Verify patch status at our patch tester page.
Test that your store is working. If you use PHP opcode caches (APC/XCache/eAccelerator) make sure to flush it after patching (or restart webserver), otherwise code will continue to run from caches.

Post-installation

Warning: Secure Admin routing for extensions is not applied by default after patch installation. To take all advantages of the patch Admin routing compatibility mode should be Disabled at System > Configuration > Admin > Security > Admin routing compatibility mode for extensions.

You can disable it as shown below:


Enabling Secure Admin Routing for extensions
Disabling Secure Admin Routing compatibility mode for extensions

Warning: This feature may break some (about ~80% at the moment) third-party extensions from working as expected. Make sure to update all third-party extensions, disable and uninstall any unused extensions and request an extension upgrades from developers if it does not work with this feature enabled..

Additionally, if your store still use default /admin/ path, you may consider securing your Magento /admin/ by admin path change and restrict access to /downloader/.

Known issues

  • CMS pages and transactional emails broken after SUPEE-6788 patch to Magento
  • Reset Password page is blank after SUPEE-6788
  • Magento registration form does not work after SUPEE-6788
  • Ess/M2ePro extension is broken after SUPEE-6788