Skip to content

About

Fixes Polyshell vulnerability in Magento 2

Resources

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

Magento 2 Polyshell Vulernability Fix

A Magento 2 module designed to address a potential security concern related to custom options. It ensures that custom option values are correctly validated before processing, preventing unauthorized 'file' type injections.

Description

This module introduces a before plugin for Magento\Catalog\Model\CustomOptions\CustomOption::getOptionValue().

The plugin performs the following checks:

  1. Option Existence: Verifies that the option_id associated with the request exists in the database. If the option does not exist, a LocalizedException is thrown.
  2. Type Validation: If the provided option_value is set to 'file', it confirms that the actual custom option type in Magento is indeed 'file'. If there is a mismatch (e.g., trying to pass 'file' to a text or drop_down option), a LocalizedException is thrown.

This prevents potential exploitation where an attacker might try to force Magento to process a file upload for an option that was not intended to handle files.

Installation

Via Composer (if available in repository)

composer require taurus-media/module-polyshell-fix

Manual Installation

  1. Copy the module files to app/code/Taurus/PolyshellFix.
  2. Run the following Magento commands:
bin/magento module:enable Taurus_PolyshellFix
bin/magento setup:upgrade
bin/magento cache:flush

Features

  • Security Hardening: Adds a layer of validation to product custom options.
  • Strict Type Checking: Ensures data integrity for file-based custom options.
  • Easy Integration: Hooks into existing Magento logic via plugins without modifying core files.

About

Fixes Polyshell vulnerability in Magento 2

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages