|
|
ActiveUpdate 및 컴포넌트 보안
취약점 개요 |
|
ã SHIFT Information & Communication Co., Ltd. Phone 02 464.7676 • Fax 02 464 7234 • www.shift.co.kr |
|
쉬프트정보통신㈜의 사전 승인 없이 본 내용의 전부 또는 일부에 대한 복사, 배포, 사용을 금합니다. |
Document History
|
버전 |
작성자 |
버전에 대한 설명 |
완료일자 |
|
V 1.0.0.0 |
최홍규 |
문서 초안 작성 |
2009-04-07 |
|
V 1.0.0.1 |
최홍규 |
jsp파일을 통해 암호화 데이터를 받을 경우, 암호화 데이터 이후에 데이터가 더 들어오더라도 무시하는 기능 추가(ManagerEx4.cab) |
2009-04-27 |
|
V 1.0.0.2 |
박인복 |
UpdateManager.java에서 ServletContext를 받아서 사용할수 있도록 생성자 변경하였으며, XML파일을 시스템 절대 경로가 아닌 WEB Context에서 부터의 절대 경로형태로 개선 되었습니다. (shiftUtils.jar Patch 1.0.0.2) |
2009-06-22 |
|
V1.0.0.3 |
박인복 |
Max, MaxU 보안 패치 내역 Report 컴포넌트는 필히 특정 버전 이상 사용하여야 ActiveUpdate4가 정상동작 합니다. |
2009-07-03 |
|
V1.0.0.4 |
김정훈 |
Max, MaxU 보안 패치 내역 Potential부분 추가 및 일부 내용수정 |
2010-03-02 |
|
V1.0.0.5 |
김정훈 |
ActiveUpdate4에 관하여 Report 삭제에 대한 정책변경 부분 추가 |
2010-04-08 |
|
V1.0.0.6 |
김정훈 |
MAX,UMX,ANP 보안 패치 내역 EMEdit Text속성 오버플로우 패치 내역 추가 Format 오버플로우 내역추가 |
2011-01-26 |
|
©Copyright 2009 SHIFT Information & Communication Co. 모든 권리는 저작권자의 소유입니다. 저자: 쉬프트정보통신㈜ 이 프로그램의
모든 정보에 대해서는 SHIFT Information & Communication Co.에서
소유권을 가집니다. 이 정보는
사용제한 및 기밀유지규정에 포함하는 사용자계약에 따라 제공되며 저작권법에 의해 보호됩니다. 이 소프트웨어를
역 엔지니어링하는 것은 금지 되어 있습니다. 이 설명서의
내용은 사전 공지 없이 변경될 수 있습니다. 이 설명서에는
오류가 있을 수도 있으므로 잘못된 내용이 발견되면 서면으로 알려주시기 바랍니다. SHIFT Information & Communication Co.에서는 오류에 대한 책임을 지지 않습니다. 기타
모든 제품들과 회사이름은 각각 해당 소유주의 상표로서 참조용으로만 사용됩니다. |
목 차
1.1.1. 서버 암호화 유틸리티를 이용한 ActiveUpdate 암호화 적용 방법(CASE-1)
1.1.1.1. UpdateManager
서버 암호화 모듈 설치
1.1.1.2. ActiveUpdate
Version 업그레이드
1.1.2. 암호화 Utility Tool(SecurityTool.exe)를 이용한 ActiveUpdate 암호화 적용방법(CASE-2)
1.1.2.1 Security
Tool을 이용한 install.zip 파일 암호화
1.1.1.3. ActiveUpdate
Version 업그레이드
1.1.3. ActiveUpdate
업그레이드 관련 참고사항
1.1.4. ActiveUpdate
IE8 호환성 패치
1.1.1.4. ActiveUpdate IE8 호환성 패치 추가 내용
이 문서는 ActiveUpdate 및 ActiveX 컴포넌트 보안 취약점에 대한 패치사항을 기술한 문서입니다. 1 장에서는 ActiveUpdate 보안 취약에 대하여 또한 2장에서는 컴포넌트(ActiveX)에 대한 보안 취약에 대하여 설명하고 있습니다.
보안 취약점이란 예를 들어 버퍼 오버플로우가 발생하여 공격자가 악성 프로그램을 고객 시스템에 다운로드하고 실행할 수 있음을 의미합니다.
이에 대한 사항은 국정원 및 한국정보보호진흥원을 통해 쉬프트정보통신으로 접수된 사항을 토대로 내부 QA 테스트를 진행하여 컴포넌트 패치가 진행되었습니다.
또한 자체적인 기능 상으로 보안에 문제가 있다고 판단된 사항에 대하여 패치가 되었습니다. 이로 인하여 고객 사용자의 화면 상 인터페이스가 변경이 되는 사례가 있을 수 있습니다. 예를 들어 파일을 저장하는 기능의 경우 고객 확인 없이 파일이 저장되던 부분이 고객에게 확인 창을 표시하는 방식으로 바꿜 수 있음을 사전에 알려 드립니다.
추가적으로 IE8에 대한 기능 추가 부분이 ActiveUpdate 및 기존 컴포넌트에서 몇 가지 패치가 추가되었습니다. 자세한 사항은 맨 하단의 패치내역을 확인하시기 바랍니다.
[주의사항]
1) ActiveUpdate 버전이 이후에는 ActiveUpdate V4.0으로 패치가 되었습니다. 이전 버전의 ActiveUpdate는 서버에서 삭제하여 다운로드가 되지 않도록 주의하시기 바랍니다. 아래 이전 ActiveUpdate 버전을 필히 삭제하시고 사용을 하지 않도록 주의하시기 바랍니다.
|
컴포넌트 명 |
CLSID |
비고 |
|
ActiveUpdate_Mini.cab |
D4D8585D-3727-4EEA-94C3-B639C8C8E44F |
ActiveUpdate 1.0 |
|
Manager.cab |
3042C30E-50B7-44EF-B4B6-C9AB391DEF78 |
ActiveUpdate 2.0 |
|
ManagerEx.cab |
92928D91-53D8-4861-835C-619E5082D3D7 |
ActiveUpdate 3.0 |
2) ActiveUpdate4를 사용하실 경우 Report 컴포넌트는 아래 기술된 버전 이상을 사용하여야 합니다. 이는 쉬프트정보통신 정책적으로 이전 버전에 보안 및 구조적 문제가 발생하여 패치를 권고 드립니다. (만일 이전 버전을 사용하실 경우 ActiveUpdate4가 비정상 동작하여 문제가 발생합니다.)
|
컴포넌트 명 |
CLSID |
비고 |
|
ToinbRep.cab |
37D13B2F-E5EB-11D2-973D-00104B15E56F |
1,1,1,122 |
|
MxReport.cab |
CC26E2A9-760B-4ea6-8DDF-DB423FD24089 |
1,2,1,70 |
|
MxReportU.cab |
9683681E-FAD6-45f1-86B3-FD60C7101BC9 |
2,0,1,60 |
[정책 변경]
ActiveUpdate4에 관하여 Report 삭제에 대한 정책이 변경 되었음을 알려 드립니다.
ActiveUpdate4 사용시 Report Component에 관해 보안 취약 및 구조적인 문제가 있어 특정 버전 이하의 Report는 무조건 삭제하게 되었으나, IE에 낮은 버전의 ActiveUpdate(1,2,3)가 떠 있는 상태에서 ActiveUpdate4 수행시 ActiveUpdate간의 충돌 및 낮은 버전의 Report를 제거하면서 브라우저가 무한 루프에 빠지는 문제가 발생하여 Report 삭제 하는 부분을 옵션으로 변경하게 되었습니다.
패치된 버전은 4,0,0,5 버전입니다.
--변경 전--
아래 버전 이하의 레포트 컴포넌트들은 무조건 제거한다.
--변경 후--
Install.xml에 <RemoveReport/> 옵션을 추가 할 경우만 아래 버전 이하의 레포트 컴포넌트들은 무조건 제거한다.
|
컴포넌트 명 |
CLSID |
비고 |
|
ToinbRep.cab |
37D13B2F-E5EB-11D2-973D-00104B15E56F |
1,1,1,121 |
|
MxReport.cab |
CC26E2A9-760B-4ea6-8DDF-DB423FD24089 |
1,2,1,69 |
|
MxReportU.cab |
9683681E-FAD6-45f1-86B3-FD60C7101BC9 |
2,0,1,59 |
참고사항
Report Component는 보안 취약 및 구조적 문제가 있어 아래 버전 이상으로 반드시 패치를 하시길 권고 드립니다.
|
컴포넌트 명 |
CLSID |
비고 |
|
ToinbRep.cab |
37D13B2F-E5EB-11D2-973D-00104B15E56F |
1,1,1,122 |
|
MxReport.cab |
CC26E2A9-760B-4ea6-8DDF-DB423FD24089 |
1,2,1,70 |
|
MxReportU.cab |
9683681E-FAD6-45f1-86B3-FD60C7101BC9 |
2,0,1,60 |
1.
ActiveUpdate 보안 취약점 패치
ActiveUpdate 보안기능 패치는 크게 Client와 Server 모듈로 구분할 수 있습니다. Client 모듈은 기존 버전을 업그레이드 한 새로운 CLSID를 가지고 있습니다. (암호화 기능이 들어간 패치 4,0,0,2 버전 이상의 ManagerEx4.cab 컴포넌트 파일) Server 모듈은 컴포넌트 정보 내용(install.xml)을 암호화하여 내려주는 서버 유틸리티(shiftUtils.jar 버전 1,0,0,0 이상) 파일로 구성되어 있습니다.
1.1. ActiveUpdate 보안패치 적용
컴포넌트 정보 내용(install.xml)을 암호화하는 방법은 서버 암호화 유틸리티를 사용하는 방법과 암호화 Utility Tool을 이용하는 방법이 있습니다.
ActiveUpdate 암호화 기능은 두가지 CASE로 보안을 제공합니다.
CASE-1: 서버 암호화 유틸리티를 이용하여 컴포넌트 정보 내용(install.xml)을 암호화하는 방법
CASE-2: 암호화 Utility Tool을 이용하여 컴포넌트 정보 내용(install.xml)을 암호화하는 방법
CASE-1의 경우 Server Security Utility를 이용하여 암호화 방식으로 이루어 집니다. 요청 도메인을 이용하여 암호화하여 install.xml 파일을 내려주고 이를 ActiveUpdate Client 컴포넌트가 복호화합니다.
CASE-2의 경우 Security Utility Tool을 이용하여 암호화가 이루어 집니다. 즉 암호화 Utility Tool (SecurityTool.exe)을 사용하여 파일을 암호화하고 이를 ActiveUpdate Client 컴포넌트가 복호화합니다.
CASE-1 암호화 아키텍쳐가 CASE-2 암호화 아키텍쳐 방식보다 좀더 보안에 충실하다고 볼 수 있습니다. 즉 초기 적용시 CASE-1 방식을 추천 드립니다. CASE-2의 경우는 WAS(JAVA)를 사용하지 않고 WebServer 제품을 사용하는 경우(TOInB, GAUCE .NET/COM+등..)에 권장하여 드립니다.
[참고사항 – ActiveUpdate 패치 적용 방법]
ActiveUpdate 컴포넌트 패치 방법은 아래와 같은 절차로 진행하시면 됩니다. (컴포넌트 패치에 대한 자세한 사항은 하단의 참고사항을 보시기 바랍니다.)
1) 문서와 같이 첨부된 컴포넌트 압축 파일을 풀어 주십시오.
- UpdateManager.jsp 를 사용하는 경우: ActiveUpdate4Manager_MX.zip 또는 ActiveUpdate4Manager_MXU.zip
- security.exe Utility를 사용하는 경우: ActiveUpdate4Util_MX.zip 또는 ActiveUpdate4Util_MXU.zip
2) 압축 폴더에 있는 파일 및 컴포넌트 파일(ActiveX 보안취약 완료본)이 있는 cabfiles 폴더를 개발 또는 운영 서버에 업로드 하십시오.
- 이미 ActiveUpdate로 배포를 하는 경우 아래 1.1.1 이하 절차를 따르십시오.
3) install.xml 파일의 버전을 확인하여 개발 및 운영 서버의 install.xml 파일을 수정하십시오.
- 첨부 파일의 install.xml의 버전은 cabfiles폴더의 컴포넌트 버전과 일치합니다.
1.1.1. 서버 암호화 유틸리티를 이용한 ActiveUpdate 암호화 적용 방법(CASE-1)
서버 암호화 유틸리티 모듈(UpdateManager)은 크게 shiftUtils.jar 모듈과 UpdateManager.sp파 파일 구성되어 있습니다. 구성도는 아래와 같습니다.
UpdateManager 유틸리티를 이용한 ActiveUpdate 암호화 적용 방법은 아래와 같은 절차에 의하여 수행됩니다.
1.1.1.1. UpdateManager 서버 암호화 모듈 설치
1) shiftUtils1000.jar(Shift Utility 버전 1,0,0,0) 파일을 WEB-INF/lib 아래에 복사합니다.
[주의사항] UpdateManager(shiftUtils.jar) 모듈을
설치한 후 WAS를 Restart 하여야 합니다.
2) Component 의 install.xml과 같은 위치에 UpdateManager.jsp 파일을 복사합니다.
3) UpdateManager.jsp 파일을 열어 file의 경로를 지정합니다.
|
<%@ page import=”java.io.*,com.shift.utils.common.*,javax.servlet.ServletOutputStream;” pageEncoding=”EUC-KR”%><% /********************************
* 1.0.0.0 or 1.0.0.1에서는 시스템 절대 경로로
설정
*String file = “D:/GAUCE_BEAVER/workspace/BeaverProject/ActiveUpdate/install.xml”;
* 1.0.0.2에서 부터는 WEB Context에서 부터의 절대 경로를 사용
* String file = “/ActiveUpdate/install.xml”;
********************************/ String
file = “D:/GAUCE_BEAVER/workspace/BeaverProject/ActiveUpdate/install.xml”;
InstallUpdateManager updateManager
= new InstallUpdateManager(file); updateManager.setServer(request.getServerName()); updateManager.setVersion(“JS01”); try
{ updateManager.init(); response.setContentLength(updateManager.getHeader().length
+ updateManager.getBody().length); ServletOutputStream sos = response.getOutputStream(); sos.write(updateManager.getHeader()); sos.write(updateManager.getBody()); sos.close(); }
catch(Exception e) { e.printStackTrace(); } %> |
[주의사항] UpdateManager.jsp 파일은 install.xml 파일과 같은 경로에 있어야 합니다.
Xml 파일의 CabFile="./cabfiles/MxGrid.cab" 경로에서
파일이 인식되도록 하기 위하여 xml 파일과 jsp은 같은 경로에 존재해야 합니다.
1.0.0.2에서부터는
XML파일을 시스템 절대 경로가 아닌 WEB Context에서 부터의 절대 경로 형태로 개선되었습니다.
4) UpdateManager.jsp 를 호출합니다.
위와 같은 결과가 표시되는 경우 정상적으로 UpdateManager가 동작되어 install.xml 파일이 암호화된 것을 확인하실 수 있습니다.
1.1.1.2. ActiveUpdate Version 업그레이드
ActiveUpdate 암호화 버전은 ActiveUpdate3와 다른 개념이 적용되었습니다. 이로 인해 별도의 제품으로 구성이 되었으며 ActiveUpdate V3.0 버전과 다른 CLSID를 사용합니다.
1) ActiveUpdate CLSID를 수정합니다.
- 92928D91-53D8-4861-835C-619E5082D3D7 에서 7A868592-7D06-44CF-ADF1-EF7517BD8F3A 로 변경합니다.
|
<!—XMLUrl을 사용하는 경우
BODY TAG 내부에 기술이 되어 있어야 합니다. à <OBJECT ID=”Manager” CLASSID=”CLSID: 7A868592-7D06-44CF-ADF1-EF7517BD8F3A “ … </OBJECT> |
2) Version 정보를 수정합니다.
- Version 정보를 4,0,0,2 버전으로 수정합니다.
|
<!—XMLUrl을 사용하는 경우
BODY TAG 내부에 기술이 되어 있어야 합니다. à <OBJECT ID=”Manager” CLASSID=”CLSID:7A868592-7D06-44CF-ADF1-EF7517BD8F3A” codebase=”./cabfiles/ManagerEx4.cab#version=4,0,0,2”> … </OBJECT> |
3) XMLUrl property를 UpdateManager.jsp 지정 위치로 수정합니다.
- XMLUrl Property를 “./UpdateManager.jsp”로 설정합니다.
|
<!—XMLUrl을 사용하는 경우
BODY TAG 내부에 기술이 되어 있어야 합니다. à <OBJECT ID=”Manager” CLASSID=”CLSID:7A868592-7D06-44CF-ADF1-EF7517BD8F3A” codebase=”./cabfiles/ManagerEx4.cab#version=4,0,0,2”> <param name=”XMLUrl” value=”. /UpdateManager.jsp”> <param name=”SaveXML” value=”TRUE”> </OBJECT> |
4) install.html을 실행합니다.
1.1.2. 암호화 Utility
Tool(SecurityTool.exe)를 이용한 ActiveUpdate 암호화 적용방법(CASE-2)
암호화 Utility Tool 모듈은 크게 SecurityTool.exe Utility로 구성되어 있습니다. 구성도는 아래와 같습니다.
Utility Tool 모듈을 이용한 ActiveUpdate 암호화 적용 방법은 아래와 같은 절차에 의하여 수행이 됩니다.
1.1.2.1 Security Tool을 이용한 install.zip 파일 암호화
1) SecurityTool.exe를 실행합니다.
2) 암호화 할 xml 파일을 선택하고 암호화 버튼을 클릭합니다.
3) 암호를 입력하고 확인 버튼을 클릭합니다. (암호는 shift.sec )
4) 확인 버튼을 클릭하여 암호화 파일(install.zip) 생성을 확인합니다.
5) 암호화된 파일(install.zip)을 지정된 경로에 업로드합니다.
- install.xml 파일 위치에 업로드 합니다. (ftp 등으로 서버에 upload)
6) 암호화된 파일(install.zip)을 호출합니다.
위와 같은 결과가 표시되는 경우 정상적으로 암호화된 파일(install.zip)이 동작될 수 있습니다.
1.1.1.3. ActiveUpdate Version 업그레이드
ActiveUpdate 암호화 버전은 ActiveUpdate3와 다른 개념이 적용되었습니다. 이로 인해 별도의 제품으로 구성이 되었으며 ActiveUpdate V3.0 버전과 다른 CLSID를 사용합니다.
1) ActiveUpdate CLSID를 수정합니다.
- 92928D91-53D8-4861-835C-619E5082D3D7에서 7A868592-7D06-44CF-ADF1-EF7517BD8F3A 로 변경합니다.
|
<!—XMLUrl을 사용하는 경우
BODY TAG 내부에 기술이 되어 있어야 합니다. à <OBJECT ID=”Manager” CLASSID=”CLSID:7A868592-7D06-44CF-ADF1-EF7517BD8F3A”
… </OBJECT> |
2) Version 정보를 수정합니다.
- Version 정보를 4,0,0,2 버전으로 수정합니다.
|
<!—XMLUrl을 사용하는 경우
BODY TAG 내부에 기술이 되어 있어야 합니다. à <OBJECT ID=”Manager” CLASSID=”CLSID:7A868592-7D06-44CF-ADF1-EF7517BD8F3A” codebase=”./cabfiles/ManagerEx4.cab#version=4,0,0,2”> … </OBJECT> |
3) XMLUrl property를 암호화된 파일(install.zip)로 수정합니다.
-
XMLUrl Property를 “./install.zip”로 설정합니다. (html 파일과 같은 위치로 “./”를 사용함)
|
<!—XMLUrl을 사용하는 경우
BODY TAG 내부에 기술이 되어 있어야 합니다. à <OBJECT ID=”Manager” CLASSID=”CLSID:7A868592-7D06-44CF-ADF1-EF7517BD8F3A” codebase=”./cabfiles/ManagerEx4.cab#version=4,0,0,2”> <param name=”XMLUrl” value=”./install.zip”> <param name=”SaveXML” value=”TRUE”> </OBJECT> |
4) install.html을 실행합니다.
1.1.3. ActiveUpdate 업그레이드 관련 참고사항
1. Manager에 의해 실행(웹페이지를 통하여)된 경우만 동작 (AUInstaller.exe 독립적으로 동작할 수 없음)
2. 호출한 HTML Page와 XMLUrl 혹은 Update Method의 파일 경로 Host이름이 같은 경우만 동작
3. 설치정보 파일(암호화된 XML파일)이 정상적인 경우 동작
1) 서비스로 호출되는 경우 해당 서비스에서 생성된 암호화 설치 정보 파일(패킷)이 정상적인 경우 동작
2) 제공되는 Utility로 생성된 정상적인 enc 파일인 경우 동작
4. AUInstaller.exe와 ManagerEx4.dll의 파일 버전이 같은 경우 동작
5. 외부 환경에 의해 Installer.exe가 ManagerEx.dll과 다른 위치에 있는 경우 다음의 순서로 Installer.exe를 찾습니다.
- A. ManagerEx.dll파일과 같은 곳에 존재하는 ManagerEx.dll와 동일한 버전의 Installer.exe
- B. A가 없거나 버전이 다른 경우 “Downloaded Program Files” 폴더의 ManagerEx.dll와 동일한 버전의 Installer.exe
- C. B가 없거나 버전이 다른 경우 “System32”폴더의 ManagerEx.dll와 동일한 버전의 Installer.exe
- D. A,B,C 모두 해당이 안되는 경우 (Installer.exe가 없거나 버전이 다른 경우) 오류를 출력
6. UpdateManager Servlet 사용방법 (JSP를 이용하지 않고 하는 방법)
1) shiftUtils1000.jar 파일을 WEB-INF/lib 아래에 복사합니다.
2) WEB-INF/web.xml을 열어 UpdateManager Servlet을 다음과 같이 등록합니다.
|
<servlet> <servlet-name>UpdateManager</servlet-name> <servlet-class> com.shift.utils.servlet.UpdateManager </servlet-class> </servlet><servlet-mapping> <servlet-name>UpdateManager</servlet-name> <url-pattern>/UpdateManager</url-pattern> </servlet-mapping> |
3) WEB-INF/gauce_conf 혹은 WEB-INF/innoxync_conf 아래에 update-config.xml 을 복사합니다.
4) upate-config.xml 파일을 열어 <install> 노드의 path 속성에 Component의 Install.xml
파일 경로를 등록합니다. (Component의 Install.xml의 절대 경로)
|
<update version=”JS01”> <install path=”D:\ gauce51_web\AU3SEC\file\Install.xml”/> </update> |
1. UpdateManager 를 호출합니다.
1.1.4. ActiveUpdate IE8 호환성 패치
IE 8의 경우 각 사이트별 “추가 기능 실행”을 지정할 수 있습니다.
IE 8의 추가기능 실행 모습)
IE8인 경우 ActiveUpdate4에 설치되는 혹은 되어있는 모든 컴포넌트에 대하여 이 추가 기능을 실행할 지 여부를 지정하는 기능을 추가하였습니다.
아래의 메시지박스는 딱 한번만 물어보며, 이후 설치되는 모든 컴포넌트들은 아래 선택사항에 맞게 지정됩니다.
- “예”를 선택한 경우: 이후 설치되는 모든 컴포넌트들은 따로 물어보지 않고, 모든 사이트에 허용(추가 기능 실행)하게 설정됩니다.
- “아니오”를 선택한 경우: 이후 설치되는 모든 컴포넌트들은 따로 설정하는 값은 없으며, 사이트에서 실행 시 사용자가 직접 추가 기능 실행 여부를 지정해야 합니다.
- ManagerEx에서 “모든 웹 사이트에서 추가 기능 실행” 여부를 물어보는 대화 상자
1.1.1.4. ActiveUpdate IE8 호환성 패치 추가 내용
대화 상자를 물어볼 지 여부를 결정하는 Registry 값
HKEY_CURRENT_USER\Software\ActiveUpdate3의 ApplyAllSite 값이 없거나, -1 인 경우 위의 대화상자를 띄웁니다.
대화 상자의 선택 값에 따라 “예”인 경우 ApplyAllSite값은 1로 지정되며, “아니오”인 경우 0으로 지정됩니다.
추후 이 값이 0 혹은 1인 경우 더 이상 대화상자를 띄우지 않으며,
ApplyAllSite 값이 1인 경우 설치되는 컴포넌트는 모두 “모든 웹 사이트에서 추가기능 실행”이 지정되게 됩니다.
ApplyAllSite 값이 0인 경우 아무 동작을 하지 않습니다.(기존과 동일)
IE 8에서 추가 기능 실행 여부를 결정하는 레지스트리 키
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Ext\Stats\{CLSID}\iexplore\AllowedDomains
해당 레지스트리 하위에 추가 실행하는 사이트의 정보가 기록됩니다.
예제 > 모든 사이트에 대해서 추가 기능을 실행하도록 한 레지스트리 기록 정보(Grid)
예제 > IE 8의 추가기능 관리에서 본 추가 기능 실행 정보 (Grid)
참고사항: Vista의 경우 모든 컴포넌트가 설치되어 있어도
추가 기능 실행을 지정하기 위해서는 Installer.exe를 기동해야 합니다.
컴포넌트 ActiveX 취약점 검증에서 확인된 취약점 19건을 포함하여 Max56건, Unicode 56건, NewPacket
58건의 추가 패치 사항을 기록하고 있으며 패치된 버전과 내용을 확인하실 수 있습니다.
1)
버퍼 오버플로우는 MAXSIZE를 체크하여 사이즈 오버시 문제가 되는 속성명과 MAXSIZE를 메시지창으로 출력하고 데이터를 반환하게 하였습니다.
2)
삭제의 경우 삭제 여부 대화창을 통해 삭제 여부를 확인할 수 있도록 수정되었습니다.
3)
DLL Error가 발생하는 경우
IE가 멈추는 문제나 dll Error가 발생하는 경우는 비정상적인 데이터를 넣을 경우 발생되었으며 이와 같은 경우는 예외처리를 통하여 동작하지 않도록 변경하였습니다.
NewPacket 컴포넌트(toinbdataset.cab 처럼 toinb로 시작되는 컴포넌트 SET) 패치 방법은 아래와 같은 절차로 진행하시면 됩니다. (컴포넌트 패치에 대한 자세한 사항은 하단의 참고사항을 보시기 바랍니다.)
1)
문서와 같이 첨부된 컴포넌트 압축 파일을 풀어 주십시오.
- UpdateManager.jsp 를 사용하는 경우: ActiveUpdate4Manager_MX.zip 또는 ActiveUpdate4Manager_MXU.zip
- security.exe Utility를 사용하는 경우: ActiveUpdate4Util_MX.zip 또는 ActiveUpdate4Util_MXU.zip
2)
압축 폴더에 있는 파일 및 컴포넌트 파일(ActiveX 보안취약 완료본)이 있는 cabfiles 폴더를 개발 또는 운영 서버에 업로드 하십시오.
- 이미 ActiveUpdate로 배포를 하는 경우 위의 1.1.1 이하 절차를 따르십시오.
3)
install.xml 파일의 버전을 확인하여 개발 및 운영서버의 install.xml 파일을 수정하십시오.
- 첨부 파일의 install.xml의 버전은 cabfiles폴더의 컴포넌트 버전과 일치합니다.
1)
AnsiNewPacket
|
컴포넌트명 |
취약점발생위치 |
취약점유형 |
패치버전 |
비고/첨부 |
||
|
종류 |
이름 |
|||||
|
ToinbWTR |
Property |
ServerIP 파라미터 |
버퍼오버플로우 |
1, 1, 1, 67 |
MAXSIZE=256 을 넘어가는 데이터는 반환처리 |
|
|
ServerIP 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 67 |
||||
|
SrvErrCount |
버퍼오버플로우 |
1, 1, 1, 67 |
MAXSIZE=256 Memory Copy 하면서 발생하는 문제로, Unicode 버전일때만 발생할 소지가 있는건 맞지만, 필요없는
데이터가 담겨서 문제가 발생할 소지는 충분히 있기에, NP, MAX도 사이즈 체크하여 반환처리 |
|||
|
ToinbWGrid |
Method |
ExportDBF |
버퍼오버플로우 |
1, 1, 1, 382 |
1.SavePath: MAXSIZE=256,
2.DBFType: MAXSIZE=4 |
|
|
삭제 |
삭제여부시는 대화창을
통해서 삭제여부를 물어보고삭제하도록 수정 |
|||||
|
GridToExcel |
버퍼오버플로우 |
1, 1, 1, 382 |
1.SavePath: MAXSIZE=256,
2.SheetName: MAXSIZE=31 |
|||
|
삭제 |
삭제여부시는 대화창을
통해서 삭제여부를 물어보고삭제하도록 수정 |
|||||
|
SaveExcel |
버퍼오버플로우 |
1, 1, 1, 382 |
1.SavePath: MAXSIZE=256, 2.SheetName:
MAXSIZE=31 |
|||
|
Property |
FontName 파라미터 |
버퍼오버플로우 |
1, 1, 1, 382 |
MAXSIZE=32 을 넘어가는 데이터는 반환처리 |
||
|
FontName 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 382 |
||||
|
Format 파라미터 |
dll Error |
1, 1, 1, 382 |
format값이 null일 경우 브라우저가 죽습니다. = > Clk, DblClk
처리 |
|||
|
Format 프라퍼티 |
dll Error |
1, 1, 1, 382 |
||||
|
FileConverter |
Method |
XLSToCSV |
버퍼오버플로우 |
1, 1, 1, 6 |
1.ExcelPath: MAXSIZE=256,
2.CSVPath: MAXSIZE=256 |
|
|
파일삭제 |
삭제여부시는 대화창을
통해서 삭제여부를 물어보고삭제하도록 수정 |
|||||
|
CSVToXLS(임의) |
버퍼오버플로우 |
1, 1, 1, 6 |
1.ExcelPath: MAXSIZE=256,
2.CSVPath: MAXSIZE=256 |
|||
|
파일삭제 |
삭제여부시는 대화창을
통해서 삭제여부를 물어보고삭제하도록 수정 |
|||||
|
LuxeWCombo |
Method |
SetFont |
버퍼오버플로우 |
1, 1, 1, 87 |
MAXSIZE=32 을 넘어가는 데이터는 반환처리 |
|
|
Property |
bindcolumn 파라미터 |
버퍼오버플로우 |
1, 1, 1, 87 |
MAXSIZE=40 을 넘어가는 데이터는 반환처리 |
||
|
bindcolumn 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 87 |
||||
|
FontName 파라미터 |
버퍼오버플로우 |
1, 1, 1, 87 |
MAXSIZE=32 을 넘어가는 데이터는 반환처리 |
|||
|
FontName 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 87 |
||||
|
CBData 파라미터 |
버퍼오버플로우 |
1, 1, 1, 87 |
MAXSIZE=2048 을 넘어가는 데이터는 반환처리 |
|||
|
CBData 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 87 |
||||
|
Defaultstring 파라미터 |
버퍼오버플로우 |
1, 1, 1, 87 |
MAXSIZE=128 을 넘어가는 데이터는 반환처리 |
|||
|
Defaultstring 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 87 |
||||
|
ListExprFormat 파라미터 |
버퍼오버플로우 |
1, 1, 1, 87 |
MAXSIZE=256 을 넘어가는 데이터는 반환처리 |
|||
|
ListExprFormat 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 87 |
||||
|
BindInfo 파라미터 |
버퍼오버플로우 |
1, 1, 1, 87 |
BindColVal에서 버퍼오버플로우가 나는게 아니고, Bind 컴포넌트를 통한 바인딩시 BindInfo부분의 값이 큰 경우에 문제 발생 |
|||
|
BindInfo 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 87 |
||||
|
EditExprFormat 파라미터 |
버퍼오버플로우 |
1, 1, 1, 87 |
MAXSIZE=256 을 넘어가는 데이터는 반환처리 |
|||
|
EditExprFormat 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 87 |
||||
|
ToinbWInputFile |
Property |
OpenFileName 파라미터 |
버퍼오버플로우 |
1, 1, 1, 23 |
MAXSIZE=1024 을 넘어가는 데이터는 반환처리 |
|
|
OpenFileName 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 23 |
||||
|
ToinbWRadio |
Property |
FontName 파라미터 |
버퍼오버플로우 |
1, 1, 1, 35 |
MAXSIZE=32 을 넘어가는 데이터는 반환처리 |
|
|
FontName 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 35 |
||||
|
Cols 파라미터 |
버퍼오버플로우 |
1, 1, 1, 35 |
MAXVALUE=64 을 넘어가는 데이터는 반환처리 |
|||
|
Cols 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 35 |
||||
|
Format 파라미터 |
버퍼오버플로우 |
1, 1, 1, 35 |
MAXSIZE=1024 을 넘어가는 데이터는 반환처리 |
|||
|
Format 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 35 |
||||
|
ToinbWMenu |
Property |
DataID 파라미터 |
버퍼오버플로우 |
1, 1, 1, 32 |
MAXSIZE=256 을 넘어가는 데이터는 반환처리 |
|
|
DataID 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 32 |
||||
|
LevelColumn 파라미터 |
버퍼오버플로우 |
1, 1, 1, 32 |
MAXSIZE=40 을 넘어가는 데이터는 반환처리 |
|||
|
LevelColumn 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 32 |
||||
|
TextColumn 파라미터 |
버퍼오버플로우 |
1, 1, 1, 32 |
MAXSIZE=40 을 넘어가는 데이터는 반환처리 |
|||
|
TextColumn 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 32 |
||||
|
ImgDataID 파라미터 |
버퍼오버플로우 |
1, 1, 1, 32 |
MAXSIZE=512 을 넘어가는 데이터는 반환처리 |
|||
|
ImgDataID 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 32 |
||||
|
ToinbWTextArea |
Property |
SRC 파라미터 |
버퍼오버플로우 |
1, 1, 1, 38 |
MAXSIZE=1800 을 넘어가는 데이터는 반환처리 |
|
|
SRC 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 38 |
||||
|
ToinbWEMEdit |
Property |
Format 파라미터 |
버퍼오버플로우 |
1, 1, 1, 97 |
MAXSIZE=1024 을 넘어가는 데이터는 반환처리 |
|
|
Format 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 97 |
||||
|
InputFormat 파라미터 |
버퍼오버플로우 |
1, 1, 1, 98 |
MAXSIZE=8 을 넘어가는 데이터는 반환처리 |
|||
|
InputFormat 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 98 |
||||
|
NumericRange 파라미터 |
버퍼오버플로우 |
1, 1, 1, 99 |
MAXSIZE=8 |
|||
|
NumericRange 프라퍼티 |
버퍼오버플로우 |
1, 1, 1, 99 |
||||
|
Text 파라미터 |
버퍼오버플로우 |
1, 1, 1, 98 |
MAXSIZE=1023 |
|||
|
Text 파라미터 |
버퍼오버플로우 |
1, 1, 1, 98 |
||||
|
ToinbWMEdit |
Property |
Text |
버퍼오버플로우 |
1, 0, 10, 97 |
MAXSIZE=1024 을 넘어가는 데이터는 반환처리 |
|
|
Text |
버퍼오버플로우 |
1, 0, 10, 97 |
||||
|
Format |
버퍼오버플로우 |
1, 0, 10, 97 |
MAXSIZE=1024 을 넘어가는 데이터는 반환처리 |
|||
|
Format |
버퍼오버플로우 |
1, 0, 10, 97 |
||||
|
ToinbWReport |
Property |
Format |
dll Error |
1,1,1,122 |
비정상인 데이터를 넣을
경우 예외처리하여 동작하지 않게 수정 |
|
|
ToinbWBind |
Property |
BindInfo |
버퍼오버플로우 |
1, 1, 1, 24 |
MAXSIZE = 6144
을 넘어가는 데이터는 반환처리 |
|
|
ToinbWDataSet |
Method |
SrvErrCount |
버퍼오버플로우 |
1,1,1,64 |
MAXSIZE=256 |
|
2)
Max
|
컴포넌트명 |
취약점발생위치 |
취약점유형 |
패치버전 |
비고/첨부 |
||
|
종류 |
이름 |
|||||
|
MxLogicalTR |
Property |
ServerIP 파라미터 |
버퍼오버플로우 |
1, 2, 1, 45 |
256을 넘어가는 데이터는 반환처리 을 넘어가는 데이터는 반환처리 |
|
|
ServerIP 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 45 |
||||
|
SrvErrCount |
버퍼오버플로우 |
1, 2, 1, 45 |
MAXSIZE=256 Memory Copy 하면서 발생하는 문제로, Unicode 버전일때만 발생할 소지가 있는건 맞지만, 필요없는
데이터가 담겨서 문제가 발생할 소지는 충분히 있기에, NP, MAX도 사이즈 체크하여 반환처리 |
|||
|
MxGrid |
Method |
ExportDBF |
버퍼오버플로우 |
1, 2, 1, 314 |
1.SavePath: MAXSIZE=256,
2.DBFType: MAXSIZE=4 |
|
|
삭제 |
삭제여부시는 대화창을
통해서 삭제여부를 물어보고삭제하도록 수정 |
|||||
|
GridToExcel |
버퍼오버플로우 |
1, 2, 1, 314 |
1.SavePath: MAXSIZE=256, 2.SheetName:
MAXSIZE=31 |
|||
|
삭제 |
삭제여부시는 대화창을
통해서 삭제여부를 물어보고삭제하도록 수정 |
|||||
|
SaveExcel |
버퍼오버플로우 |
1, 2, 1, 314 |
1.SavePath: MAXSIZE=256,
2.SheetName: MAXSIZE=31 |
|||
|
Property |
FontName 파라미터 |
버퍼오버플로우 |
1, 2, 1, 314 |
MAXSIZE=32 을 넘어가는 데이터는 반환처리 |
||
|
FontName 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 314 |
||||
|
Format 파라미터 |
dll Error |
1, 2, 1, 314 |
format값이 null일 경우 브라우저가 죽습니다. = > Clk, DblClk
처리 |
|||
|
Format 프라퍼티 |
dll Error |
1, 2, 1, 314 |
||||
|
MxCombo |
Method |
SetFont |
버퍼오버플로우 |
1, 2, 1, 45 |
MAXSIZE=32 을 넘어가는 데이터는 반환처리 |
|
|
Property |
bindcolumn 파라미터 |
버퍼오버플로우 |
1, 2, 1, 45 |
MAXSIZE=40 을 넘어가는 데이터는 반환처리 |
||
|
bindcolumn 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 45 |
||||
|
FontName 파라미터 |
버퍼오버플로우 |
1, 2, 1, 45 |
MAXSIZE=32 을 넘어가는 데이터는 반환처리 |
|||
|
FontName 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 45 |
||||
|
CBData 파라미터 |
버퍼오버플로우 |
1, 2, 1, 45 |
MAXSIZE=2048 을 넘어가는 데이터는 반환처리 |
|||
|
CBData 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 45 |
||||
|
Defaultstring 파라미터 |
버퍼오버플로우 |
1, 2, 1, 45 |
MAXSIZE=128 을 넘어가는 데이터는 반환처리 |
|||
|
Defaultstring 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 45 |
||||
|
EDIT 파라미터 |
버퍼오버플로우 |
1, 2, 1, 45 |
MAXSIZE=8 을 넘어가는 데이터는 반환처리 |
|||
|
EDIT 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 45 |
||||
|
ListExprFormat 파라미터 |
버퍼오버플로우 |
1, 2, 1, 45 |
MAXSIZE=256 을 넘어가는 데이터는 반환처리 |
|||
|
ListExprFormat 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 45 |
||||
|
HeaderFontName 파라미터 |
버퍼오버플로우 |
1, 2, 1, 45 |
MAXSIZE=32 을 넘어가는 데이터는 반환처리 |
|||
|
HeaderFontName 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 45 |
||||
|
BindInfo 파라미터 |
버퍼오버플로우 |
1, 2, 1, 45 |
BindColVal에서 버퍼오버플로우가 나는게 아니고, Bind 컴포넌트를 통한 바인딩시 BindInfo부분의 값이 큰 경우에 문제 발생 |
|||
|
BindInfo 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 45 |
||||
|
EditExprFormat 파라미터 |
버퍼오버플로우 |
1, 2, 1, 45 |
MAXSIZE=256 을 넘어가는 데이터는 반환처리 |
|||
|
EditExprFormat 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 45 |
||||
|
MxRadio |
Property |
FontName 파라미터 |
버퍼오버플로우 |
1, 2, 1, 18 |
MAXSIZE=32 을 넘어가는 데이터는 반환처리 |
|
|
FontName 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 18 |
||||
|
Cols 파라미터 |
버퍼오버플로우 |
1, 2, 1, 18 |
MAXVALUE=64
을 넘어가는 데이터는 반환처리 |
|||
|
Cols 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 18 |
||||
|
Format 파라미터 |
버퍼오버플로우 |
1, 2, 1, 18 |
MAXSIZE=1024 을 넘어가는 데이터는 반환처리 |
|||
|
Format 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 18 |
||||
|
MxMenu |
Property |
DataID 파라미터 |
버퍼오버플로우 |
1, 2, 1, 12 |
MAXSIZE=256 을 넘어가는 데이터는 반환처리 |
|
|
DataID 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 12 |
||||
|
LevelColumn 파라미터 |
버퍼오버플로우 |
1, 2, 1, 12 |
MAXSIZE=40 을 넘어가는 데이터는 반환처리 |
|||
|
LevelColumn 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 12 |
||||
|
TextColumn 파라미터 |
버퍼오버플로우 |
1, 2, 1, 12 |
MAXSIZE=40 을 넘어가는 데이터는 반환처리 |
|||
|
TextColumn 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 12 |
||||
|
ImgDataID 파라미터 |
버퍼오버플로우 |
1, 2, 1, 12 |
MAXSIZE=512 을 넘어가는 데이터는 반환처리 |
|||
|
ImgDataID 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 12 |
||||
|
MxTextArea |
Property |
SRC 파라미터 |
버퍼오버플로우 |
1, 2, 1, 19 |
MAXSIZE=1800 을 넘어가는 데이터는 반환처리 |
|
|
SRC 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 19 |
||||
|
MxMaskEdit |
Property |
Format 파라미터 |
버퍼오버플로우 |
1, 2, 1, 60 |
MAXSIZE=1024 을 넘어가는 데이터는 반환처리 |
|
|
Format 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 60 |
||||
|
InputFormat 파라미터 |
버퍼오버플로우 |
1, 2, 1, 60 |
MAXSIZE=8 을 넘어가는 데이터는 반환처리 |
|||
|
InputFormat 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 60 |
||||
|
NumericRange 파라미터 |
버퍼오버플로우 |
1, 2, 1, 60 |
MAXSIZE=8 을 넘어가는 데이터는 반환처리 |
|||
|
NumericRange 프라퍼티 |
버퍼오버플로우 |
1, 2, 1, 60 |
||||
|
Text 파라미터 |
버퍼오버플로우 |
1, 2, 1, 70 |
MAXSIZE=1023 을 넘어가는 데이터는 반환처리 |
|||
|
Text 파라미터 |
버퍼오버플로우 |
1, 2, 1, 70 |
||||
|
MxReport |
Property |
Format |
dll Error |
1, 2, 1, 70 |
비정상인 데이터를 넣을
경우 예외처리하여 동작하지 않게 수정 |
|
|
MxBinder |
Property |
BindInfo |
버퍼오버플로우 |
1, 2, 1, 10 |
MAXSIZE = 6144
을 넘어가는 데이터는 반환처리 |
|
|
MxDataSet |
Method |
LoadExcelData |
버퍼오버플로우 |
1, 2, 1, 71 |
1.ExcelPath:MAXSIZE=2048, 2.SheetName:MAXSIZE=31(SheetName
Max=31) |
|
|
Do-ImportData |
버퍼오버플로우 |
1, 2, 1, 71 |
MAXSIZE=64 을 넘어가는 데이터는 반환처리 |
|||
|
SrvErrCount |
버퍼오버플로우 |
1, 2, 1, 71 |
MAXSIZE=256 을 넘어가는 데이터는 반환처리 |
|||
3)
UniCode
|
컴포넌트명 |
취약점발생위치 |
취약점유형 |
패치버전 |
비고/첨부 |
||
|
종류 |
이름 |
|||||
|
MxLogicalTRU |
Property |
ServerIP 파라미터 |
버퍼오버플로우 |
2, 0, 1, 44 |
MAXSIZE=256을 넘어가는 데이터는 반환처리 |
|
|
ServerIP 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 44 |
||||
|
SrvErrCount |
버퍼오버플로우 |
2, 0, 1, 44 |
MAXSIZE=256 Memory Copy 하면서 발생하는 문제로, Unicode 버전일때만
발생할 소지가 있는건 맞지만, 필요없는 데이터가 담겨서 문제가 발생할 소지는 충분히 있기에, NP,
MAX도 사이즈 체크하여 반환처리 |
|||
|
MxGridU |
Method |
ExportDBF |
버퍼오버플로우 |
1, 2, 1, 314 |
1.SavePath:
MAXSIZE=256, 2.DBFType: MAXSIZE=4
|
|
|
삭제 |
삭제여부시는 대화창을 통해서 삭제여부를 물어보고삭제하도록
수정 |
|||||
|
GridToExcel |
버퍼오버플로우 |
1, 2, 1, 314 |
1.SavePath:
MAXSIZE=256, 2.SheetName:
MAXSIZE=31 |
|||
|
삭제 |
삭제여부시는 대화창을 통해서 삭제여부를 물어보고삭제하도록
수정 |
|||||
|
SaveExcel |
버퍼오버플로우 |
2, 0, 1, 306 |
1.SavePath:
MAXSIZE=256, 2.SheetName:
MAXSIZE=31 |
|||
|
Property |
FontName 파라미터 |
버퍼오버플로우 |
2, 0, 1, 306 |
MAXSIZE=32 을 넘어가는 데이터는 반환처리 |
||
|
FontName 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 306 |
||||
|
Format 파라미터 |
dll Error |
2, 0, 1, 306 |
format값이 null일 경우 브라우저가 죽습니다. = > Clk, DblClk 처리 |
|||
|
Format 프라퍼티 |
dll Error |
2, 0, 1, 306 |
||||
|
MxComboU |
Method |
SetFont |
버퍼오버플로우 |
2, 0, 1, 43 |
MAXSIZE=32 을 넘어가는 데이터는 반환처리 |
|
|
Property |
bindcolumn 파라미터 |
버퍼오버플로우 |
2, 0, 1, 43 |
MAXSIZE=40 을 넘어가는 데이터는 반환처리 |
||
|
bindcolumn 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 43 |
||||
|
FontName 파라미터 |
버퍼오버플로우 |
2, 0, 1, 43 |
MAXSIZE=32 을 넘어가는 데이터는 반환처리 |
|||
|
FontName 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 43 |
||||
|
CBData 파라미터 |
버퍼오버플로우 |
2, 0, 1, 43 |
MAXSIZE=2048 을 넘어가는 데이터는 반환처리 |
|||
|
CBData 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 43 |
||||
|
Defaultstring 파라미터 |
버퍼오버플로우 |
2, 0, 1, 43 |
MAXSIZE=128 을 넘어가는 데이터는 반환처리 |
|||
|
Defaultstring 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 43 |
||||
|
EDIT 파라미터 |
버퍼오버플로우 |
2, 0, 1, 43 |
MAXSIZE=8 을 넘어가는 데이터는 반환처리 |
|||
|
EDIT 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 43 |
||||
|
ListExprFormat 파라미터 |
버퍼오버플로우 |
2, 0, 1, 43 |
MAXSIZE=256 을 넘어가는 데이터는 반환처리 |
|||
|
ListExprFormat 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 43 |
||||
|
HeaderFontName 파라미터 |
버퍼오버플로우 |
2, 0, 1, 43 |
MAXSIZE=32 을 넘어가는 데이터는 반환처리 |
|||
|
HeaderFontName 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 43 |
||||
|
BindInfo 파라미터 |
버퍼오버플로우 |
2, 0, 1, 43 |
BindColVal에서 버퍼오버플로우가
나는게 아니고, Bind 컴포넌트를 통한 바인딩시 BindInfo부분의 값이 큰 경우에 문제 발생 |
|||
|
BindInfo 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 43 |
||||
|
EditExprFormat 파라미터 |
버퍼오버플로우 |
2, 0, 1, 43 |
MAXSIZE=256 을 넘어가는 데이터는 반환처리 |
|||
|
EditExprFormat 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 43 |
||||
|
MxRadioU |
Property |
FontName 파라미터 |
버퍼오버플로우 |
2, 0, 1, 17 |
MAXSIZE=32 을 넘어가는 데이터는 반환처리 |
|
|
FontName 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 17 |
||||
|
Cols 파라미터 |
버퍼오버플로우 |
2, 0, 1, 17 |
MAX, UNI 버전은 문제발생안함 MAXVALUE=64 |
|||
|
Cols 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 17 |
||||
|
Format 파라미터 |
버퍼오버플로우 |
2, 0, 1, 17 |
MAXSIZE=1024 을 넘어가는 데이터는 반환처리 |
|||
|
Format 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 17 |
||||
|
MxMenuU |
Property |
DataID 파라미터 |
버퍼오버플로우 |
2, 0, 1, 11 |
MAXSIZE=256 을 넘어가는 데이터는 반환처리 |
|
|
DataID 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 11 |
||||
|
LevelColumn 파라미터 |
버퍼오버플로우 |
2, 0, 1, 11 |
MAXSIZE=40 을 넘어가는 데이터는 반환처리 |
|||
|
LevelColumn 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 11 |
||||
|
TextColumn 파라미터 |
버퍼오버플로우 |
2, 0, 1, 11 |
MAXSIZE=40 을 넘어가는 데이터는 반환처리 |
|||
|
TextColumn 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 11 |
||||
|
ImgDataID 파라미터 |
버퍼오버플로우 |
2, 0, 1, 11 |
MAXSIZE=512 을 넘어가는 데이터는 반환처리 |
|||
|
ImgDataID 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 11 |
||||
|
MxTextAreaU |
Property |
SRC 파라미터 |
버퍼오버플로우 |
2, 0, 1, 24 |
MAXSIZE=1800 을 넘어가는 데이터는 반환처리 |
|
|
SRC 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 24 |
||||
|
MxMaskEditU |
Property |
Format 파라미터 |
버퍼오버플로우 |
2, 0, 1, 60 |
MAXSIZE=1024 을 넘어가는 데이터는 반환처리 |
|
|
Format 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 60 |
||||
|
InputFormat 파라미터 |
버퍼오버플로우 |
2, 0, 1, 60 |
MAXSIZE=8 을 넘어가는 데이터는 반환처리 |
|||
|
InputFormat 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 60 |
||||
|
NumericRange 파라미터 |
버퍼오버플로우 |
2, 0, 1, 60 |
MAXSIZE=8(특성상 8이 적절하다고 보여짐) |
|||
|
NumericRange 프라퍼티 |
버퍼오버플로우 |
2, 0, 1, 60 |
||||
|
Text 파라미터 |
버퍼오버플로우 |
2, 0, 1, 71 |
MAXSIZE=1023 을 넘어가는 데이터는 반환처리 |
|||
|
Text 파라미터 |
버퍼오버플로우 |
2, 0, 1, 71 |
||||
|
MxReportU |
Property |
Format |
dll Error |
2, 0 , 1, 60 |
비정상인 데이터를 넣을 경우 예외처리하여 동작하지 않게 수정 |
|
|
MxBinderU |
Property |
BindInfo |
버퍼오버플로우 |
2, 0, 1, 8 |
MAXSIZE = 6144 을 넘어가는 데이터는 반환처리 |
|
|
MxDataSetU |
Method |
LoadExcelData |
버퍼오버플로우 |
2, 0, 1, 71 |
1.ExcelPath:MAXSIZE=2048,
2.SheetName:MAXSIZE=31(SheetName Max=31) |
|
|
Do-ImportData |
버퍼오버플로우 |
2, 0, 1, 71 |
MAXSIZE=64 을 넘어가는 데이터는 반환처리 |
|||
|
SrvErrCount |
버퍼오버플로우 |
2, 0, 1, 71 |
MAXSIZE=256 을 넘어가는 데이터는 반환처리 |
|||
※ 공통사항
Format 속성은 MAXSIZE가 65536을 넘을 경우 메시지창을 출력하지 않고 데이터를 반환하게 됩니다.
[참고사항]
위의 컴포넌트 보안 패치는 제품 QA팀에서 내부 테스트를 통하여 기능 및 운영 테스트가 진행되었습니다.
이를 각 사이트의 운영 시스템에 반영하기 전에 별도의 개발 서버에 적용하여 이에 대하여 각 사이트별로 오류 및 side effect를 검증한 후 운영에 반영하실 것을 권장합니다.
만일 해당 버전의 차이가 많이 나는 경우(2006년 이전 버전을 사용하는 시스템)는 솔루션지원팀에 문의하여 버전 차이로 인한 문제점에 대한 문서를 별도로 가이드 받아 업그레이드에 문제가 없도록 주의하시기 바랍니다.