CVE-2021-44832 내용 일부 추가 : 2021/12/29
CVE-2021-45105 내용 일부 추가(2차) : 2021/12/23
CVE-2021-45105 내용 일부 추가 : 2021/12/20
CVSS Score 갱신 : 2021/12/17
최초 작성 : 2021/12/16
CVE-2021-45046: Apache Log4j2 Thread Context Message Pattern and Context Lookup Pattern vulnerable to a denial of service attack.
Severity: Moderate
Severity: Critical
Base CVSS Score: 3.7 (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L)
Base CVSS Score: 9.0 (AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H)
NVD metricsVersions Affected: All versions from 2.0-beta9 to 2.15.0, excluding 2.12.2
지난번 글 에서 다룬 Log4Shell, CVE-2021-44228에 이어서, 추가적인 취약점이 발견되었다. 지난 글에서 간략히 다루긴 했지만, 조금 더 상세하게 적는것이 좋다고 생각했다.
최초 발견시에는 CVSS Score가 3.7로 평가되었으나, 취약점이 추가로 발견되어 9.0으로 상향 조정 되었다.
Severity is now Critical
The original severity of this CVE was rated as Moderate; since this CVE was published security experts found additional exploits against the Log4j 2.15.0 release, that could lead to information leaks, RCE (remote code execution) and LCE (local code execution) attacks.
Base CVSS Score changed from 3.7 (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L) to 9.0 (AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H).
이 취약점은 다음의 사항을 만족할때 발생한다.
%m{nolookups}
을 설정했거나,log4j2.formatMsgNoLookups
또는LOG4J_FORMAT_MSG_NO_LOOKUPS
를 true로 설정한 경우ThreadContext
를 사용한다면여전히 RCE 취약점에 노출되어 있다.
또한 Log4j 2.15.0 버전을 사용하더라도, ThreadContext를 사용한다면, DOS의 위험성이 존재한다.
특정 상황에서 더이상 %m{nolookups}
, 시스템 설정 log4j2.formatMsgNoLookups
, 환경변수 LOG4J_FORMAT_MSG_NO_LOOKUPS
설정이 안전하지 않다. 취약점을 막기 위해서 각 버전별로 조치해야 할 사항은 아래와 같다.
CVE-2021-45105 취약점으로 인해 조치사항이 변경되었다.
CVE-2021-44832 취약점으로 인해 조치사항이 변경되었다.
Log4j 버전을 2.16.0으로 올린다.
2.16.0 버전에 추가 dos 취약점이 발견되었다.
Log4j 버전을 2.17.0으로 올린다.
Log4j 버전을 2.17.1으로 올린다.
Log4j 버전을 2.12.2로 올린다.
Log4j 버전을 2.12.3로 올린다.
Log4j 버전을 2.12.4로 올린다.
Log4j 버전을 2.3.1로 올린다.
Log4j 버전을 2.3.2로 올린다.
JndiLookup
클래스를 class path에서 제거한다.
zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
Log4j 2.14.0 버전을 사용했다.
여전히 공격이 잘 되는 것을 볼 수 있다.
Log4j 2.14.0 버전을 사용했다.
마찬가지로 여전히 공격이 잘 된다.
Log4j 2.15.0 버전을 사용했다.
요청 하나 보낼 때마다 jndi 조회가 60번 가량 일어난다.
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-45046
https://nvd.nist.gov/vuln/detail/CVE-2021-45046
https://issues.apache.org/jira/browse/LOG4J2-3221
https://blog.cloudflare.com/protection-against-cve-2021-45046-the-additional-log4j-rce-vulnerability/
https://www.lunasec.io/docs/blog/log4j-zero-day-update-on-cve-2021-45046/