전자정부프레임워크

[전자정부프레임워크] Apache Log4j 2 보안 업데이트 권고

봉주니 2021. 12. 13. 17:18

아래와 같은 이슈가 발생한 것 같다.

 


□ 영향을 받는 버전
 o CVE-2021-44228
   - 2.0-beta9 ~ 2.14.1 버전 (Log4j 2.12.2 제외)
 o CVE-2021-45046
   - 2.0-beta9 ~ 2.12.1 및 2.13.0 ~ 2.15.0 버전
 o CVE-2021-4104
   - 1.x 버전
      ※ JMSAppender를 사용하지 않는 경우 취약점 영향 없음

□ 대응방안
 o 제조사 홈페이지를 통해 최신버전으로 업데이트 적용[3]
   ※ 제조사 홈페이지에 신규버전이 계속 업데이트되고 있어 확인 후 업데이트 적용 필요
    - CVE-2021-44228, CVE-2021-45046
      · Java 8 : Log4j 2.16.0으로 업데이트[3]
      · Java 7 : Log4j 2.12.2으로 업데이트[9]
           ※ log4j-core-*.jar 파일 없이 log4j-api-*.jar 파일만 사용하는 경우 위 취약점의 영향을 받지 않음
   - CVE-2021-4104
      · Java 8 : Log4j 2.16.0으로 업데이트[3]
      · Java 7 : Log4j 2.12.2으로 업데이트[9]
 o 신규 업데이트가 불가능할 경우 아래와 같이 조치 적용
    - CVE-2021-44228, CVE-2021-45046
      · JndiLookup 클래스를 경로에서 제거

    - CVE-2021-4104
      · JMSAppender 사용 확인 후 코드 수정 또는 삭제
          ※ log4j 1.x버전 사용자의 경우 추가적인 업그레이드 지원 중지로 인해 다른 보안위협에 노출될 가능성이 높아 최신버전(2.x) 업데이트 적용 권고

자바 8버전을 사용하는 경우, 2.15.0 으로 업그레이드 하는게 최선인 것 같아 변경을 해본다.

pom.xml을 확인해보라는데, pom.xml 에 보면 logging 관련 dependency가 없다!

 

그래서 maven 으로 설치된 파일을 찾아보니, 나는 아래의 경로에서 확인 했다.

target -> 프로젝트명 -> WEB-INF -> lib -> egovframework.rte.fdl.logging-3.8.0.jar 였다.

해당 jar를 열어서 , pom.xml 을 열어보면 log4j 2.10.0 이 되어있었고,

 

해당 logging dependency는 또, egovframework.rte.fdl.commn-3.8.0.jar에서 호출하는 것 같았다.

 

따라서, jar 파일은 두고 기본 pom.xml에서 처리해보려고 한다.

해당 logging을 불러와 2.10 버전을 강제로 exclusion 시켰다.

<dependency>
  <groupId>egovframework.rte</groupId>
  <artifactId>egovframework.rte.fdl.logging</artifactId>
  <version>${egovframework.rte.version}</version>
    <exclusions>
      <exclusion>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
    </exclusion>
    <exclusion>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-slf4j-impl</artifactId>
      </exclusion>
  </exclusions>
</dependency>

그리고, 2.16.0 버전을 추가해주고

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.16.0</version>
</dependency>

프로젝트를 maven clean 하고, maven install 해봤더니 2.16.0 으로 잘 적용되었다.

 

 

반응형