IT System Management/Security

CVE-2021-44228; Log4j 2 취약점 Log4Shell 확인과 대응

iseop 2021. 12. 15. 20:36   인쇄용 버전

Log4j는 자바로 작성된 애플리케이션을 위한 로그 기록용 API를 제공하는 패키지입니다.

이번에 Log4j 2.0-beta9 이후 버전의 패키지를 통한 원격 코드 실행 취약점이 공개되면서 조치가 필요하게 되었습니다.

취약점이 포함된 파일은 log4j-core-*.jar 파일입니다. 다른 파일들은 이 취약점에 영향을 받지 않습니다.

 

Log4j Security 페이지에서 취약점 목록과 대응 방법을 찾아볼 수 있습니다.

https://logging.apache.org/log4j/2.x/security.html#

 

Log4j – Apache Log4j Security Vulnerabilities

<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apa

logging.apache.org

 

요약하자면, 기존 배포된 2.15.0 버전에는 관련된 또다른 취약점(CVE-2021-45046)이 포함되어 있으니,

  • Java 8 이상을 사용하는 환경에서는 2.16.0 버전,
  • Java 7을 사용하는 환경에서는 2.12.2 버전으로 업그레이드하고,
  • 이 외 업그레이드가 불가한 환경에서는 아래 예시처럼 문제가 되는 클래스를 제거하라고 안내되어 있습니다.
zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

 

처음 대응 방법으로 게재되었던

  • log4j2.formatMsgNoLookups 시스템 속성 또는 
  • LOG4J_FORMAT_MSG_NO_LOOKUPS 환경변수를 true로 설정하는 방법으로는 또다른 모든 공격 벡터를 막을 수 없다고 합니다.

 

참고