오늘도 Month of PHP Bugs 에서 1개의 취약점을 발표했습니다. 오늘 발표된 취약점은 remote 에서 임의의 명령어를 실행할 수 있는 무서운 취약점입니다.

( 9일차 취약점 리스트 )
16번째 취약점은 PHP 5.2.0 부터 포함되어 나오는 PECL zip 확장 모듈의 stack overflow 취약점입니다. 이 모듈은 default 로 활성화되어 있지는 않은데, 일부 경우 디폴트로 활성화되어 있다고 하는군요.
이 모듈이 활성화되면 allow_url_fopen 이나 allow_url_include 설정에 상관없이 zip:// 이라는 URL 로 remote 의 압축 파일을 접근할 수 있는데, PECL zip 확장 모듈이 URL 주소를 다루면서 적절히 boundary check 를 안해서 매우 긴 URL 주소를 받으면 stack overflow 가 일어난다고 합니다.
원문에서는 취약점 검증 도구(Proof of Concept)를 이용해 CPU의 eip 레지스터와 특정 메모리를 변경하는 것을 보여주고 있으며, 원하던 shell code 를 실행해서 대상 서버의 4444 포트에 백도어를 열어둔 화면도 보여주고 있습니다.
PHP 개발팀은 이 Stefan Esser 가 이 정도로 상세히 설명해주었음에도, '이거 remote 에선 안되고, local 만 되는거잖아?' 같은 황당한 소리만 했다는 군요.
제 경험에 의하면 위와 같은 경우는 '취약한 프로그램의 내부 동작 방식에 대해 잘 모르고, 보안에 대한 전문 지식이 거의 없는' 경우에 그러던데... PHP 개발팀 좀 실망입니다.
이 취약점의 경우 Stefan Esser 가 5.2.0 이 취약하다고 언급하고 있습니다만,별다른 상세한 설명을 안하고 있어서 5.2.1 에서 해당 문제가 패치되었는지 여부를 확인하기 어렵네요.
대처 방안으로
1. PECL zip 확장 모듈이 활성화되어 있는지 확인
2. 현재 사용 중인 웹 어플리케이션 목록화
3. 사용 중인 웹 어플리케이션 중 PECL zip 확장 모듈에 의존하는 어플리케이션 확인
4. 의존하는 어플리케이션 없다면 PECL zip 확장 모듈 비활성화
5. 의존하는 어플리케이션 있다면 침해 사고 모니터링 강화
의 단계를 거치시는게 좋겠습니다.

( 9일차 취약점 리스트 )
16번째 취약점은 PHP 5.2.0 부터 포함되어 나오는 PECL zip 확장 모듈의 stack overflow 취약점입니다. 이 모듈은 default 로 활성화되어 있지는 않은데, 일부 경우 디폴트로 활성화되어 있다고 하는군요.
이 모듈이 활성화되면 allow_url_fopen 이나 allow_url_include 설정에 상관없이 zip:// 이라는 URL 로 remote 의 압축 파일을 접근할 수 있는데, PECL zip 확장 모듈이 URL 주소를 다루면서 적절히 boundary check 를 안해서 매우 긴 URL 주소를 받으면 stack overflow 가 일어난다고 합니다.
원문에서는 취약점 검증 도구(Proof of Concept)를 이용해 CPU의 eip 레지스터와 특정 메모리를 변경하는 것을 보여주고 있으며, 원하던 shell code 를 실행해서 대상 서버의 4444 포트에 백도어를 열어둔 화면도 보여주고 있습니다.
PHP 개발팀은 이 Stefan Esser 가 이 정도로 상세히 설명해주었음에도, '이거 remote 에선 안되고, local 만 되는거잖아?' 같은 황당한 소리만 했다는 군요.
제 경험에 의하면 위와 같은 경우는 '취약한 프로그램의 내부 동작 방식에 대해 잘 모르고, 보안에 대한 전문 지식이 거의 없는' 경우에 그러던데... PHP 개발팀 좀 실망입니다.
이 취약점의 경우 Stefan Esser 가 5.2.0 이 취약하다고 언급하고 있습니다만,
대처 방안으로
1. PECL zip 확장 모듈이 활성화되어 있는지 확인
2. 현재 사용 중인 웹 어플리케이션 목록화
3. 사용 중인 웹 어플리케이션 중 PECL zip 확장 모듈에 의존하는 어플리케이션 확인
4. 의존하는 어플리케이션 없다면 PECL zip 확장 모듈 비활성화
5. 의존하는 어플리케이션 있다면 침해 사고 모니터링 강화
의 단계를 거치시는게 좋겠습니다.

덧글