Баги в Magento 2 CE
Сегодня заметил что отрелизилась Magento 2.0. Решил качнуть CE версию и глянуть, что там и как сделали. При попытке, первого запуска я получил следующие сообщение:
glob() returned error while searching in '/public_html/app/code/*/*/cli_commands.php'
Данное сообщение не содержало никакой дополнительной информации о проблеме, только это сообщение.
Выглядит, это конечно прекрасно - компания берет с пользователей EE по $15к за лицензию, проводит съезды в лас-вегасе и имеет большие офисы по всему миру.. Но, протестить, свой продукт и как минимум, сообщить "что к чему" не может. Печалька..
Ладно, в последнее время, у меня получается неплохо ванговать, поэтому я скажу вам по секрету, что проблема в PHP версии ниже 5.6 . Для того, чтобы эта ошибка вылечилась, просто обновитесь до 5.6 или выше.
Только после этого инсталятор сможет проверить, соответствует ли ваша версия PHP необходимой 🙂
Кроме обновления PHP всего скорее придется установить некоторые php модули и обновить MySQL до версии 5.6+, полный список требований можно найти тут.
Рассказывать, про код я пока не буду, просто предлагаю посмотреть на конструктор класса Product:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
public function __construct( \Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Framework\Api\ExtensionAttributesFactory $extensionFactory, AttributeValueFactory $customAttributeFactory, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Catalog\Api\ProductAttributeRepositoryInterface $metadataService, Product\Url $url, Product\Link $productLink, \Magento\Catalog\Model\Product\Configuration\Item\OptionFactory $itemOptionFactory, \Magento\CatalogInventory\Api\Data\StockItemInterfaceFactory $stockItemFactory, \Magento\Catalog\Model\Product\OptionFactory $catalogProductOptionFactory, \Magento\Catalog\Model\Product\Visibility $catalogProductVisibility, \Magento\Catalog\Model\Product\Attribute\Source\Status $catalogProductStatus, \Magento\Catalog\Model\Product\Media\Config $catalogProductMediaConfig, Product\Type $catalogProductType, \Magento\Framework\Module\Manager $moduleManager, \Magento\Catalog\Helper\Product $catalogProduct, \Magento\Catalog\Model\ResourceModel\Product $resource, \Magento\Catalog\Model\ResourceModel\Product\Collection $resourceCollection, \Magento\Framework\Data\CollectionFactory $collectionFactory, \Magento\Framework\Filesystem $filesystem, \Magento\Framework\Indexer\IndexerRegistry $indexerRegistry, \Magento\Catalog\Model\Indexer\Product\Flat\Processor $productFlatIndexerProcessor, \Magento\Catalog\Model\Indexer\Product\Price\Processor $productPriceIndexerProcessor, \Magento\Catalog\Model\Indexer\Product\Eav\Processor $productEavIndexerProcessor, CategoryRepositoryInterface $categoryRepository, Product\Image\CacheFactory $imageCacheFactory, \Magento\Catalog\Model\ProductLink\CollectionProvider $entityCollectionProvider, \Magento\Catalog\Model\Product\LinkTypeProvider $linkTypeProvider, \Magento\Catalog\Api\Data\ProductLinkInterfaceFactory $productLinkFactory, \Magento\Catalog\Api\Data\ProductLinkExtensionFactory $productLinkExtensionFactory, EntryConverterPool $mediaGalleryEntryConverterPool, \Magento\Framework\Api\DataObjectHelper $dataObjectHelper, \Magento\Framework\Api\ExtensionAttribute\JoinProcessorInterface $joinProcessor, array $data = [] ) |
Ха-ха, теперь чтобы провалидировать знания кандидата на должность Magento девелопера, достаточно спросить его о параметрах класса Product, если назовет 10 из 35, значит можно брать на работу...
-- [добавлено, спустя 15 минут] --
Ну, что же. Завершив установку свежескаченной версии Magento 2 CE, я нашел XSS уязвимость. Чтобы воспроизвести проблему, сделайте следующее:
- Скачайте Magento 2 CE + Sample Data с оф.сайта: https://www.magentocommerce.com/download
- Установите
- Обновите индексы и сбросьте кеш, согласно рекомендациям в админке
- Перейдите на страницу: site.com/karissa-v-neck-tee.html
- В верхней части страницы, вы увидите следующее:
- Давайте взглянем на исходники
- Как видим данные не экранируются
- Спустя 5 минут, мое предположение подтвердилось:
- Попытался на их сайте найти форму сообщений об уязвимостях - ничего не нашел. Запостил тему на форум, интересно как быстро исправят или удалят тему 🙂
Честно говоря, мне очень смешно и грустно. Целая команда чуваков разрабатывала и тестировала вторую magent-у два, нет ДВААААА ГОДАА и в итоге релизят такой сырой продукт - это печально.
Author: | Tags: /
| Rating:
Leave a Reply