허용받지 않은 서비스 대상으로 해킹을 시도하는 행위는 범죄 행위입니다. 해킹을 시도할 때에 발생하는 법적인 책임은 그것을 행한 사용자에게 있다는 것을 명심하시기 바랍니다.
CVE-ID
CVE-2022-42889
Apache Commons Text는 변수 보간을 수행하여 속성을 동적으로 평가하고 확장할 수 있습니다. 보간을 위한 표준 형식은 "${prefix:name}"이며, 여기서 "prefix"는 보간을 수행하는 org.apache.commons.text.lookup.StringLookup의 인스턴스를 찾는 데 사용됩니다. 버전 1.5부터 1.9까지 계속되는 기본 조회 인스턴스 세트에는 임의의 코드가 실행되거나 원격 서버와 연결될 수 있는 보간기가 포함되었습니다. 이러한 조회는 다음과 같습니다. - "스크립트" - JVM 스크립트 실행 엔진(javax.script)을 사용하여 표현식 실행 - "dns" - dns 레코드 확인 - "url" - URL에서 값 로드, 원격 서버에서 포함 영향을 받는 버전에서 보간 기본값을 사용하는 응용 프로그램은 신뢰할 수 없는 구성 값이 사용되는 경우 원격 코드 실행 또는 원격 서버와의 의도하지 않은 접촉에 취약할 수 있습니다. 사용자는 기본적으로 문제가 있는 보간 기를 비활성화하는 Apache Commons Text 1.10.0으로 업그레이드하는 것이 좋습니다.
영향을 받는 소프트웨어
- Apache Commons Text
CVSS 점수 : CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H(9.8 치명적)
영향을 받는 버전
1.5 – 1.9
착취 요구 사항
- 응용 프로그램은 영향을 받는 구성 요소의 다음 방법 중 하나로 이후에 처리되는 사용자 제어 입력을 허용합니다.
- StringLookupFactory.INSTANCE.interpolatorStringLookup().lookup()
- StringSubstitutor.createInterpolator().replace()
- Java 15 이상인 Java 버전은 원격 코드 실행에 취약하지 않습니다. Nashorn 엔진이 비활성화되고 "스크립트" 접두사를 사용할 수 없기 때문입니다. 그러나 "url" 및 "dns" 접두사를 통한 다른 공격이 가능합니다.
CVE-2022-42889에 취약한 코드의 예
다음은 영향을 받는 버전의 Apache Commons Text 구성 요소 를 사용하여 임의 코드를 실행할 수 있는 가능성을 보여주는 두 가지 소스 코드 예제입니다.
String poc1 = “${script:javascript:java.lang.Runtime.getRuntime().exec(\”touch /tmp/tarlogic\”);}”;
String rce1 = StringSubstitutor.createInterpolator().replace(poc1);
String poc2 = “script:javascript:java.lang.Runtime.getRuntime().exec(\”touch /tmp/tarlogic\”)”;
String rce2 = StringLookupFactory.INSTANCE.interpolatorStringLookup().lookup(poc2);
참조
https://securitylab.github.com/advisories/GHSL-2022-018_Apache_Commons_Text/
https://www.rapid7.com/blog/post/2022/10/17/cve-2022-42889-keep-calm- and-stop-saying-4shell/
https://commons.apache.org/proper/commons-text/userguide.html
https://nvd.nist.gov/vuln/detail/CVE-2022-42889
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-42889
'Code::Security > 취약점' 카테고리의 다른 글
Fortinet FortiNAC (CVE-2022-39952) (0) | 2023.02.22 |
---|---|
Microsoft Exchange ProxyNotShell우회 OWASSRF 공격체인 (0) | 2022.12.28 |
SQLiteManager 1.2.4 XSS 취약점 (CVE-2012-5105) (0) | 2022.08.24 |
Oracle WebLogic 취약점 (CVE-2019-2618) (0) | 2022.08.10 |
보안 취약점 정보 제공 사이트 및 참고 사이트 (0) | 2022.08.09 |