Log4j는 자바로 작성된 애플리케이션을 위한 로그 기록용 API를 제공하는 패키지입니다.
이번에 Log4j 2.0-beta9 이후 버전의 패키지를 통한 원격 코드 실행 취약점이 공개되면서 조치가 필요하게 되었습니다.
취약점이 포함된 파일은 log4j-core-*.jar 파일입니다. 다른 파일들은 이 취약점에 영향을 받지 않습니다.
Log4j Security 페이지에서 취약점 목록과 대응 방법을 찾아볼 수 있습니다.
https://logging.apache.org/log4j/2.x/security.html#
요약하자면, 기존 배포된 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로 설정하는 방법으로는 또다른 모든 공격 벡터를 막을 수 없다고 합니다.
참고