패치 당일날 당장 문제가 발생하여 분석해 본 결과, 다음과 같은 문제도 발견됐었습니다.

 

-----

 

2006-08-08일자 업데이트 내용 중 Windows XP Internet Explorer 누적 보안 업데이트(KB918899;http://www.microsoft.com/technet/security/bulletin/ms06-042.mspx) 업데이트를 하고 나면 특정 동작 시 mshtml.dll에 잘못된 메모리 참조 에러가 발생하면서 IE가 죽습니다. (mshtml.dll, 버전: 6.0.2900.2963, 2006년 7월 28일자)
 
현재, 원인은 파악이 되지 않고 있지만 대충 살펴본 바로는, 패치 중 다음 중 하나와 관련된 패치에 이상이 있는 것으로 판단됩니다.
- HTML Layout and Positioning Memory Corruption 취약점 패치
- CSS Memory Corruption 취약점 패치
- HTML Rendering Memory Corruption 취약점 패치

문제가 발생하는 분들은 일단 프로그램 추가/제거에서 해당 패치를 삭제하시면 정상 작동됩니다.
근본적인 문제해결은 테스트를 더 진행해 본 후에야 파악 가능할 것 같습니다.

 

 

-----

 

==> 문제의 현상이 파악되었습니다. 이번 패치의 버그가 거의 확실한 것 같습니다.
 
웹 브라우저에서 서로 다른 프레임이라 하더라도 window.createPopup()으로 만든 팝업이 2개 이상 동시에 활성화되는 경우, 팝업이 사라질 때 Access Violation 에러를 발생하고 IE가 죽습니다. 아마도 다른 프레임에 활성화된 팝업을 죽이려는 미련한 짓(?)을 시도하다가(버그 동작) 안되니까 죽어버리는 것 같습니다.
 
MS가 똑똑하다면 조만간 새 IE 패치를 만들 것 같긴 합니다만, 그건 미지수이고, 어쨌든 현재로서는 해결방법이 없습니다. 웹 브라우저 내에 동시에 팝업이 하나만 있도록 조정하는 방법 말고는.
 
- 개발 중인 웹 사이트에서는 모든 페이지에서의 팝업을 제거하고 div 레이어로 대체하여 문제를 피하는 방법이 있습니다.
- 개발/배포가 완료된 웹 사이트에서는 관련 스크립트를 주석 처리하여 임시로 팝업을 차단하는 방법을 써야 할 것 같습니다.




Posted by 떼르미
,


자바스크립트를 허용해주세요!
Please Enable JavaScript![ Enable JavaScript ]