보안 패치의 영향을받는 모듈을 확인하는 방법 SUPEE-6788


71

2015 년 10 월 27 일, 마 젠토는 보안 패치 SUPEE-6788을 발표했습니다. 기술적 인 세부 사항 에 따르면 , 수정 된 4 개의 APPSEC은 로컬 및 커뮤니티 모듈에서 약간의 재 작업이 필요합니다.

  • APPSEC-1034, 사용자 지정 관리 URL을 우회하여 주소 지정 (기본적으로 비활성화 됨)
  • 가능한 SQL 주입을 해결하는 APPSEC-1063
  • APPSEC-1057, 템플릿 처리 방법으로 개인 정보에 액세스 가능
  • APPSEC-1079, 사용자 정의 옵션 파일 유형으로 잠재적 인 악용 문제 해결

이 보안 패치의 영향을받는 모듈을 확인하는 방법이 궁금합니다.

나는 다음과 같은 부분 해결책을 생각해 냈습니다.

  • APPSEC-1034 : <use>admin</use>모든 로컬 및 커뮤니티 모듈의 config.xml에서 검색 하십시오. 이것이이 문제의 영향을받는 모든 모듈을 나열해야한다고 생각합니다.
  • APPSEC-1063 : 로컬 및 커뮤니티 모듈의 모든 PHP 파일을 검색 addFieldToFilter('(하고 검색하십시오 addFieldToFilter('`. 변수도 사용할 수 있으므로 불완전합니다.
  • AppSec이-1057 : 검색 {{config path={{block type=지역 사회 모든 모듈 PHP 파일에, 그리고 화이트리스트의 모든 요소를 필터링합니다. 그러나 관리자가 추가 한 템플릿 변수가 없으므로 불완전합니다.
  • APPSEC-1079 : 전혀 모른다.

Peter Jaap Blaakmeer가 컴파일 한 APPSEC-1034 및 APPSEC-1063에 취약한 확장 목록 도 있습니다


@PeterJaapBlaakmeer에 연락하는 방법을 모르겠지만 목록에 추가해야하는 확장명이 있습니다. 관리자 URL 문제에 대한 FreeLunchLabs ConstantContact
David Wilkins

6
누가 이러한 솔루션 중 일부를 생각해 냈습니까? 갑자기 블록 타입과 가변 화이트리스트가 있을까요? 마 젠토를 업그레이드하는 것은 항상 고통 스럽지만, 마 젠토에게는 더 많은 고통을 안겨준 좋은 일입니다.
Agop

6
Heh, Magento, 계속주는 선물. 방금 1.9.2.1 호환성을 위해 모든 모듈을 업그레이드했습니다. 내기 모듈 개발자는 기쁨을 위해 점프하거나 언덕을 향해 비명을 지르고 있습니다.
Fiasco Labs

3
현재 패치가 다음 주에 연기 됨-다음 주 초까지 보안 패치 릴리스를 연기하고 관리자 라우팅 변경 사항이 기본적으로 해제되도록 패치를 수정하십시오. 이는 패치에 수정 사항이 포함되지만 설치시 패치가 사용 불가능 함을 의미합니다. 새로운 릴리스 날짜와 패치 변경 사항을 통해 코드를 업데이트 할 수있는 추가 시간을 확보 할 수 있으며 확장 기능과 사용자 정의가 업데이트되어 패치를 적용하면 판매자는이 부분을 유연하게 설정할 수 있습니다.
FireBear

답변:


55

SUPEE-6788이 릴리스되고 관리자 라우팅 변경이 기본적으로 해제되어 있습니다. 이는 패치에 수정 사항이 포함되어 있지만 설치시 사용할 수 없음을 의미합니다. 이렇게하면 코드를 업데이트 할 시간이 더 생길 수 있으며 확장 기능과 사용자 지정 내용이 업데이트되어 업데이트되면 판매자가 패치의이 부분을 유연하게 설정할 수 있습니다.

설치 후 확장에 대한 관리 라우팅 기능을 사용 가능하게하려면 관리-> 고급-> 관리-> 보안으로 이동하십시오.

Magento CE 1.4-1.6 패치는 지연되며 약 일주일 내에 제공됩니다!

SUPEE-6788 자원 목록


"수정하지 않는"모듈의 경우 6788과 함께 작동하도록 수동으로 패치 할 수 있도록 일반적으로 변경해야 할 사항을 문서화 할 수 있습니까? 예를 들어 "모든 addFieldToFilter통화 에서 X를 제거하십시오 ."
Tyler V.

1
패치가 릴리스되었습니다. 답변을 업데이트하십시오.
7ochem

@FireBear 이미 여러 번 Magento 패치를 적용했습니다. 그러나 SUPEE-6788에 대해서는 의구심이 있습니다. 다른 패치처럼 적용해야합니까? 나중에 Magento 관리자 패널에서 또는 관리자가 설치 시간 동안 관리 라우팅 기능을 활성화 할 수 있습니다. 제안 해주세요.
Mukesh

2
@Muk 예. 다른 패치로 설치할 수 있지만 목록에서 일부 확장을 사용하는 경우 깨진 확장에 대해주의해야합니다. 수동으로 수정하거나 개발자가 업데이트를 기다려야합니다. 확장 프로그램
FireBear

@FireBear community.magento.com/t5/Version-Upgrades/…에 대한 의견을 보내주십시오 (사용자 지정 모듈 전후)
Mukesh

21

ParadoxLabs는 충돌 감지에 대한 다른 의견과 함께 APPSEC-1034 (관리자 컨트롤러) 및 APPSEC-1057 (화이트리스트)의 영향을받는 모든 항목을 추적하는 스크립트를 만들었습니다. 또한 불량 컨트롤러를 수정하려고 시도 할 것입니다. 상당히 정확하고 침입적인 변경이기 때문입니다.

APPSEC-1063 (SQL 삽입) 또는 APPSEC-1079 (사용자 정의 옵션)는 다루지 않지만 가능하다면 좋을 것입니다. 어떤 종류의 정밀도로 감지하는 방법을 잘 모릅니다. 우리는 기부금을받습니다.

https://github.com/rhoerr/supee-6788-toolbox


3
이것은 정말 유용하고 좋은 일입니다!
paj

fixWhitelists는 화이트리스트에 블록을 추가하지만 변수에 대해 동일하게 보이지 않는 것 같습니다. 확인 하시겠습니까?
zigojacko

1
@zigojacko 둘 다 다룹니다.
Ryan Hoerr

그렇습니다. ParadoxLabs의 훌륭한 작품, 훌륭한 직업 :)
zigojacko 10

ParadoxLabs에 대한 존중. 그 도구는 많은 양의 작업을 절약하고 있습니다.
DarkCowboy

5

이 PHP 스크립트는 제안 된 SUPEE-6788 패치의 영향을받는 마 젠토 코드를 식별하는 데 유용 할 수 있습니다 .

이것은 이 패치에 대한 완벽한 보안 검사 는 아니지만, 영향을받는 모듈과 코드가 있는지 신속하게 설치를 스캔하는 데 유용 할 수 있습니다.

다음을 사용하여 스크립트를 설치하십시오.

wget https://raw.githubusercontent.com/gaiterjones/magento-appsec-file-check/master/magento_appsec_file_check.php

Magento 설치 경로 편집

$_magentoPath='/home/www/magento/';

운영

php magento_appsec_file_check.php

영향을받는 파일이 표시됩니다 :

*** Magento security file check ***
[1] APPSEC-1034, addressing bypassing custom admin URL
2 effected files :
<use>admin</use> found in  app/code/community/Itabs/Debit/etc/config.xml
<use>admin</use> found in  app/code/core/Mage/Adminhtml/etc/config.xml


[2] APPSEC-1063, addressing possible SQL injection
2 effected files :
collection->addFieldToFilter(' found in  app/code/community/Itabs/Debit/Model/Export/Abstract.php
collection->addFieldToFilter(' found in  app/code/community/Itabs/Debit/controllers/Adminhtml/OrderController.php
collection->addFieldToFilter(' not found.
collection->addFieldToFilter('\` not found.
collection->addFieldToFilter('\` not found.


[3] APPSEC-1057, template processing method allows access to private information
{{config path= not found.
{{block type= not found.


***********************************

이 스크립트는 grep을 사용하여 Magento 파일에서 SUPEE-6788을 적용 할 때 사용자 지정 또는 확장과의 호환성을 손상시킬 수있는 코드가 있는지 Magento 파일을 검색합니다.


4

SUPEE-6788과 호환되는 모든 확장명에 이미 사용 가능한 큰 목록이 있습니다.

자세한 내용은 https://docs.google.com/spreadsheets/d/1LHJL6D6xm3vD349DJsDF88FBI_6PZvx_u3FioC_1-rg/edit#gid=0


이 목록이 어떻게 수집되었는지 알고 싶습니다.
mam08ixo

3
크라우드 소싱되었습니다. 원래 출처 : docs.google.com/spreadsheets/d/…
Herman Slatman

위의 페이지에서 목록을 제거하고 대신 소스로 연결하십시오. 최신 정보 : docs.google.com/spreadsheets/d/…
Aad Mathijssen

1
업데이트 된 버전에 대해 문의 할 연락처가 있습니까? 이미 업데이트 된 모듈이 2-3 개 이상 있습니다.
versedi

-1

컨텐츠 필터를 통해 처리 할 수있는 허용 된 변수 목록이 PDF에 표시된 것보다 큽니다.

+ trans_email/ident_support/name
+ trans_email/ident_support/email
web/unsecure/base_url
web/secure/base_url
trans_email/ident_general/name
+ trans_email/ident_general/email
trans_email/ident_sales/name
trans_email/ident_sales/email
trans_email/ident_custom1/name
trans_email/ident_custom1/email
trans_email/ident_custom2/name
trans_email/ident_custom2/email
general/store_information/name
general/store_information/phone
general/store_information/address

( +PDF에 설명되지 않은 변수를 앞에 추가했습니다 )

콘텐츠 필터를 통해 처리 할 수있는 허용 된 블록은 다음과 같습니다.

core/template
catalog/product_new
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.