🇰🇷 한글 설명
QOS.CH logback-core 1.5.18 이하 버전에서 조건부 설정 파일 처리 중 발생하는 임의 코드 실행(ACE) 취약점입니다. Janino 라이브러리와 Spring Framework가 클래스패스에 있을 때, 공격자가 설정 파일에 쓰기 권한이 있거나 악의적인 환경 변수를 주입하면 임의 코드를 실행할 수 있습니다.
💡 쉬운 설명
Java 로그 라이브러리인 logback이 설정 파일을 처리할 때 악성 명령어를 실행하도록 속을 수 있습니다. 이를 위해서는 설정 파일을 수정할 권한이 필요하므로 시스템에 이미 접근 권한이 있는 공격자가 피해를 줄 수 있습니다.
🇺🇸 원문 (English)
ACE vulnerability in conditional configuration file processing by QOS.CH logback-core up to and including version 1.5.18 in Java applications, allows an attacker to execute arbitrary code by compromising an existing logback configuration file or by injecting an environment variable before program execution.
A successful attack requires the presence of Janino library and Spring Framework to be present on the user's class path. In addition, the attacker must have write access to a
configuration file. Alternatively, the attacker could inject a malicious
environment variable pointing to a malicious configuration file. In both
cases, the attack requires existing privilege.
📍 영향받는 시스템
logback-core ≤ 1.5.18 (Janino 라이브러리 및 Spring Framework 포함 환경)
⚔️ 공격 벡터
설정 파일 직접 수정 또는 환경 변수 주입을 통한 악성 구성 파일 로드
🛡️ 대응 방법
logback-core를 1.5.19 이상으로 업그레이드 또는 불필요한 경우 Janino 라이브러리 제거
🔧 검증 코드
설치된 logback-core JAR의 버전이 1.5.18 이하면 취약함; 버전이 1.5.19 이상이면 패치됨
find / -name 'logback-core*.jar' 2>/dev/null | xargs -I {} sh -c 'jar tf {} | grep -q logback && echo {}' | xargs basename | grep -oE '[0-9]+\.[0-9]+\.[0-9]+' | head -1