Wins blog

글로벌 정보보안 파트너! Global Security  No.1 윈스는 국가대표 정보보안 기업에서 글로벌 강소기업으로 도약합니다.

보안 정보

앞 내용 보기 다음 내용 보기
취약점 정보WordPress Product Catalogue PHP Object Injection
작성일 2017-11-10 조회 163

 

 

개요
WordPress Plugin 인 중 하나인 Ultimate Product Catalogue 에서 PHP Object Injection 취약점이 발견되었다.

 

해당 취약점은 플러그인을 사용할때 사용자가 입력한 내용이 unserialize() 함수에 전달 될 때 적절한 검증이 존재하지 않아 발생한다.

취약점을 악용하기 위해 Cookie 필드에 특정 문자열일 이용하여 PHP Object 가 실행되게 한다.

 

공격 성공 시 PHP 객체 삽입이 가능하다.

 

 

확인 내역
해당 취약점에 대한 PoC가 공개 되었다.

 

[그림1. POC 내역]

 

공격은 unserialize () 함수 호출에 의해 발생한다.


아래 두가지 조건이 있는 경우에만 트리거가 가능하다.


1) PHP magic method 를 사용하는 경우 발생(_wakeup,__destruct)
2) 공격 중에 사용되는 Class 들은 unserialize () 함수가 호출 될때 선언

 

UPCP_Add_To_Cart 의 Functions / Process_Ajax.php 파일은 위와 같은 조건을 충족한다.

$ _COOKIE 변수로부터 직접 입력을 받는 unserialize 함수가 존재

 

[그림2. 소스코드 내역]

 

 

대응 방안

1) 해당 벤더사가 제공하는 최신의 펌웨어를 설치한다.
https://wordpress.org/plugins/ultimate-product-catalogue/

 
2) 당사 IPS 에서는 아래의 패턴으로 대응 가능하다.

[IPS 패턴블럭] : 3827, WordPress Plugin Product Catalogue PHP Object Injection


3) Snort 룰은 SecureCAST에서 확인이 가능하다.

 

 

참조
https://cupuzone.wordpress.com/2017/10/22/php-object-injection-in-wp-plugin-ultimate-product-catalog-4-2-23/

https://www.exploit-db.com/exploits/43065/

https://wordpress.org/plugins/ultimate-product-catalogue/

첨부파일 첨부파일이 없습니다.
태그 PHP Object Injection  Ultimate Product  WordPress Plugin  UPCP_Add_To_Cart