암호화 해시 함수 중 하나에서 입력 데이터 처리 시 심각한 결함 발견
[보안뉴스 호애진] PHP 5.3.8 버전이 출시됐다. PHP 웹 스크립팅 언어를 관리하는 PHP 그룹은 22일 기존 5.3.7 버전의 암호화 모듈에 버그가 있음을 밝히며 안정적인 PHP 신버전을 며칠내로 출시하겠다고 발표한 후 신속하게 이 문제를 해결, PHP 5.3.8 버전을 23일 출시했다.
PHP 그룹은 최근 출시된 PHP 5.3.7 버전의 암호화 모듈에 심각한 버그가 있음을 경고하고 이 문제가 해결되기 전까지 PHP 5.3.7로 업그레이드를 하지 말 것을 권고한 바 있다.
PHP5.3.7은 지난 18일 출시됐고 여러 가지 보안 취약점에 대한 픽스가 포함돼 있었다. 그런데 암호화 해시 함수 중 하나에서 입력 데이터를 처리할 때 심각한 결함이 있는 것으로 발견됐다. MD5 솔트를 이용하며 crypt() 함수를 호출하면 솔트 해시 값이 아닌 솔트 값만 반환되는 문제다.
이 문제는 블로우피시나 DES에서는 나타나지 않고 MD5에서만 나타난다. PHP 5.3.7을 공식 출시하기 하루 전에 이에 관한 버그 리포트가 처음으로 나왔다.
이 리포트에 따르면 cypt()가 MD5 솔트와 함께 실행되면 반환 값에 솔트만 존재하며 DES와 블로우피시 솔트는 정상적으로 작용했다. 오픈수세 PHP5 리포지터리로부터 php를 테스트했으며 여러 플랫폼에서 똑같은 문제가 재현됐다.
이에 PHP 그룹은 이 암호화 모듈 문제(crypt() 함수)에 대한 버그 리포트를 발표하고 중간 빌드에서 문제를 해결했고 안정적인 PHP 신버전을 며칠 내에 출시할 계획이라고 밝혔다.
PHP는 널리 사용되는 스크립팅 언어 중 하나이고 인기 있는 프로그래밍 언어여서 웹 기반 공격에 수시로 노출된다. PHP가 널리 사용되는 언어임을 감안하면 이의 취약점과 이에 대한 공격은 심각한 사태를 초래할 수 있고 수백만 명의 이용자에게 영향을 줄 수 있다. 그러나 PHP 5.3.7은 나온 지 얼마되지 않아 이 버전으로 업그레이드한 유저가 그리 많지는 않을 걸로 예상된다.
PHP 5.3.7에는 6가지 보안 문제 등 상당수의 버그에 대한 픽스가 포함돼 있었다. 여기에는 crypt() 함수 관련 문제를 다루는 픽스가 포함돼 있었으나 현재의 MD5 솔트 문제와는 무관했다.
[호애진 기자(boan5@boannews.com)]
<저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지>