기술 문서 - CS359009
Apache Log4J 1.x 보안 취약점(CVE-2021-4104, CVE-2019-17571, CVE-2022-23302, CVE-2022-23305 및 CVE-2022-23307) – Windchill PLM 및 FLexPLM에 미치는 영향
수정한 날짜: 01-Apr-2025
적용 대상
- FlexPLM 11.1 M010 to M020
- Windchill PDMLink 11.0 M030
- FlexPLM 11.0 M030
- Windchill PDMLink 11.1 M020
- Windchill PDMLink 11.2.1.0
- FlexPLM 11.2.1.0
- FlexPLM 12.0.0.0
설명
Apache Log4j 1.x에 대해 여러 CVE가 보고되었습니다. 지원이 중단된 것으로 알려져 있으므로 Windchill PLM에 대한 알려진 영향을 확인하기 위해 분석 및 정당화가 제공됩니다.
위의 '적용 대상' 영역에 명시된 제품 릴리스에는 모두 log4j1.2.17 버전이 포함되어 있습니다.
식별된 CVE에 대한 취약한 Apache Log4j 버전: 1.2.17까지의 모든 1.2.X 버전
CVE-2021-4104
Log4j 1.x에서 JMSAppender는 log4j의 구성 파일에서 활성화된 경우 JNDI 조회를 수행합니다. Log4j 1.x를 사용하는 애플리케이션은 구성에서 JNDI(JMSAppender)를 사용하는 경우 영향을 받을 수 있습니다.
기본 CVSS 점수: 7.5 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Red Hat은 RHSB-2021-009( CVE-2021-4104 )를 식별했습니다.
https://access.redhat.com/security/cve/CVE-2021-4104
Redhat Bugzilla 기사에는 추가 세부 정보가 포함되어 있습니다.
버전 1.x의 Java 로깅 라이브러리 Apache Log4j에서 결함이 발견되었습니다. 이를 통해 배포된 애플리케이션이 JMSAppender를 사용하도록 구성된 경우 원격 공격자가 서버에서 코드를 실행할 수 있습니다.
CVE-2021-4104는 제품이 Windchill의 OOTB 구성이 아닌 JMSAppender를 사용하도록 특별히 구성된 경우에만 Log4j 1.2에 영향을 미칩니다.
CVE-2019-17571
Log4j 1.2에 포함된 SocketServer 클래스는 신뢰할 수 없는 데이터의 역직렬화에 취약하며, 로그 데이터에 대한 신뢰할 수 없는 네트워크 트래픽을 수신할 때 역직렬화 가젯과 결합하면 원격으로 임의의 코드를 실행하는 데 악용될 수 있습니다.
기본 CVSS 점수:9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVE-2022-23302
기본 점수: 8.8 벡터: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
취약한 Apache Log4j 버전: 1.x
Log4j 1.x의 모든 버전에서 JMSSink는 공격자가 Log4j 구성에 대한 쓰기 액세스 권한이 있거나 구성이 공격자가 액세스할 수 있는 LDAP 서비스를 참조하는 경우 신뢰할 수 없는 데이터의 역직렬화에 취약합니다. 공격자는 TopicConnectionFactorBinderingName 구성을 제공하여 JMSSink가 CVE-2021-4104와 유사한 방식으로 원격 코드 실행을 초래하는 JNDI 요청을 수행하도록 할 수 있습니다.
이 문제는 기본값이 아닌 JMSSink를 사용하도록 특별히 구성된 경우에만 Log4j 1.x에 영향을 미칩니다.
Redhat 기사에는 다음 세부 정보가 포함되어 있습니다.
버전 1.x의 Java 로깅 라이브러리 Apache Log4j에서 결함이 발견되었습니다. 이를 통해 배포된 애플리케이션이 JMSSink를 사용하도록 구성된 경우 원격 공격자가 서버에서 코드를 실행할 수 있습니다.
CVE-2022-23305
기본 점수: 9.8 벡터: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
취약한 Apache Log4j 버전: 1.2.x
CVE는 Log4j 1.2.x의 JDBCAppender가 SQL 문을 구성 매개변수로 허용하며, 삽입할 값은 PatternLayout의 변환기라고 설명합니다. 메시지 변환기 %m은 항상 포함될 가능성이 높습니다. 이를 통해 공격자는 조작된 문자열을 애플리케이션의 입력 필드나 헤더에 입력하여 SQL을 조작할 수 있으며, 이는 로깅되어 의도치 않은 SQL 쿼리가 실행될 수 있습니다.
이 CVE는 Log4j 1.2.x를 사용하고 Windchill에 대한 OOTB 구성이 아닌 JDBCAppender를 사용하도록 특별히 구성된 애플리케이션에만 영향을 미칩니다.
CVE-2022-23307
기본 점수: 9.8 벡터: CVSS3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
취약한 Apache Log4j 버전: 1.2.x
Log4j 1.2.x의 로그 뷰어인 Chainsaw에 역직렬화 문제가 있어 임의의 코드 실행이 발생할 수 있습니다. 이 취약점은 이전에 CVE-2020-9493으로 명명되었으며, 공식 Apache Chainsaw 2.1.0 버전이 출시되어 이를 수정했습니다. Log4j는 기본적으로 Chainsaw를 사용하도록 구성되어 있지 않습니다.
Redhat 에 따르면, log4j 1.x Chainsaw 구성 요소에 특정 로그 항목의 내용이 역직렬화되어 코드 실행이 허용될 수 있는 결함이 발견되었습니다.
이 CVE는 SocketAppender를 사용하여 전송된 LoggingEvent 객체를 수신하는 Chainsaw와 해당 기능을 사용하는 애플리케이션에만 영향을 미칩니다. 이 기능은 OOTB Windchill 구성에서 활성화되어 있지 않으며 Windchill Codebase에서 호출되지도 않습니다.
추가 참고사항:
Log4j 1.x는 Log4j 2.x에 대해 보고된 CVE-2021-44228에 영향을 받지 않는 것으로 확인되었습니다. CS358789 를 참조하세요.
3자 번들 구성 요소에 대한 영향:
위의 '적용 대상' 영역에 명시된 제품 릴리스에는 모두 log4j1.2.17 버전이 포함되어 있습니다.
식별된 CVE에 대한 취약한 Apache Log4j 버전: 1.2.17까지의 모든 1.2.X 버전
CVE-2021-4104
Log4j 1.x에서 JMSAppender는 log4j의 구성 파일에서 활성화된 경우 JNDI 조회를 수행합니다. Log4j 1.x를 사용하는 애플리케이션은 구성에서 JNDI(JMSAppender)를 사용하는 경우 영향을 받을 수 있습니다.
기본 CVSS 점수: 7.5 CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Red Hat은 RHSB-2021-009( CVE-2021-4104 )를 식별했습니다.
https://access.redhat.com/security/cve/CVE-2021-4104
Redhat Bugzilla 기사에는 추가 세부 정보가 포함되어 있습니다.
버전 1.x의 Java 로깅 라이브러리 Apache Log4j에서 결함이 발견되었습니다. 이를 통해 배포된 애플리케이션이 JMSAppender를 사용하도록 구성된 경우 원격 공격자가 서버에서 코드를 실행할 수 있습니다.
CVE-2021-4104는 제품이 Windchill의 OOTB 구성이 아닌 JMSAppender를 사용하도록 특별히 구성된 경우에만 Log4j 1.2에 영향을 미칩니다.
CVE-2019-17571
Log4j 1.2에 포함된 SocketServer 클래스는 신뢰할 수 없는 데이터의 역직렬화에 취약하며, 로그 데이터에 대한 신뢰할 수 없는 네트워크 트래픽을 수신할 때 역직렬화 가젯과 결합하면 원격으로 임의의 코드를 실행하는 데 악용될 수 있습니다.
기본 CVSS 점수:9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- SocketServer/SimpleSocketServer 취약 클래스의 사용은 LoggingEvent 객체를 원격 로그 서버(보통 SocketNode)로 보내는 Log4J의 SocketAppender의 기능으로 그림에 등장합니다. SocketNode는 소켓(TCP)을 사용하여 원격 클라이언트에서 보낸 LoggingEvent 객체를 읽습니다. 이러한 로깅 이벤트는 마치 로컬에서 생성된 것처럼 로컬 정책에 따라 로깅됩니다. SocketAppender는 레이아웃 없이 직렬화된 LoggingEvent 객체를 서버 측에 전달합니다. 원격 호스트에서 역직렬화하면 모든 동일한 정보에 액세스할 수 있으며 로그가 인쇄되는 레이아웃을 지정할 수 있어야 합니다.
- Windchill OOTB에서는 SocketServer 클래스(취약성이 존재하는 곳)를 통해 원격 로그에 액세스하는 log4j 기능이 활성화되지 않았으며 Windchill 코드베이스에서 해당 호출이 없습니다. 또한 이 기능을 활성화/실행하는 것에 대해 언급하는 Windchill 설명서도 없습니다.
CVE-2022-23302
기본 점수: 8.8 벡터: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
취약한 Apache Log4j 버전: 1.x
Log4j 1.x의 모든 버전에서 JMSSink는 공격자가 Log4j 구성에 대한 쓰기 액세스 권한이 있거나 구성이 공격자가 액세스할 수 있는 LDAP 서비스를 참조하는 경우 신뢰할 수 없는 데이터의 역직렬화에 취약합니다. 공격자는 TopicConnectionFactorBinderingName 구성을 제공하여 JMSSink가 CVE-2021-4104와 유사한 방식으로 원격 코드 실행을 초래하는 JNDI 요청을 수행하도록 할 수 있습니다.
이 문제는 기본값이 아닌 JMSSink를 사용하도록 특별히 구성된 경우에만 Log4j 1.x에 영향을 미칩니다.
Redhat 기사에는 다음 세부 정보가 포함되어 있습니다.
버전 1.x의 Java 로깅 라이브러리 Apache Log4j에서 결함이 발견되었습니다. 이를 통해 배포된 애플리케이션이 JMSSink를 사용하도록 구성된 경우 원격 공격자가 서버에서 코드를 실행할 수 있습니다.
CVE-2022-23305
기본 점수: 9.8 벡터: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
취약한 Apache Log4j 버전: 1.2.x
CVE는 Log4j 1.2.x의 JDBCAppender가 SQL 문을 구성 매개변수로 허용하며, 삽입할 값은 PatternLayout의 변환기라고 설명합니다. 메시지 변환기 %m은 항상 포함될 가능성이 높습니다. 이를 통해 공격자는 조작된 문자열을 애플리케이션의 입력 필드나 헤더에 입력하여 SQL을 조작할 수 있으며, 이는 로깅되어 의도치 않은 SQL 쿼리가 실행될 수 있습니다.
이 CVE는 Log4j 1.2.x를 사용하고 Windchill에 대한 OOTB 구성이 아닌 JDBCAppender를 사용하도록 특별히 구성된 애플리케이션에만 영향을 미칩니다.
CVE-2022-23307
기본 점수: 9.8 벡터: CVSS3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
취약한 Apache Log4j 버전: 1.2.x
Log4j 1.2.x의 로그 뷰어인 Chainsaw에 역직렬화 문제가 있어 임의의 코드 실행이 발생할 수 있습니다. 이 취약점은 이전에 CVE-2020-9493으로 명명되었으며, 공식 Apache Chainsaw 2.1.0 버전이 출시되어 이를 수정했습니다. Log4j는 기본적으로 Chainsaw를 사용하도록 구성되어 있지 않습니다.
Redhat 에 따르면, log4j 1.x Chainsaw 구성 요소에 특정 로그 항목의 내용이 역직렬화되어 코드 실행이 허용될 수 있는 결함이 발견되었습니다.
이 CVE는 SocketAppender를 사용하여 전송된 LoggingEvent 객체를 수신하는 Chainsaw와 해당 기능을 사용하는 애플리케이션에만 영향을 미칩니다. 이 기능은 OOTB Windchill 구성에서 활성화되어 있지 않으며 Windchill Codebase에서 호출되지도 않습니다.
추가 참고사항:
Log4j 1.x는 Log4j 2.x에 대해 보고된 CVE-2021-44228에 영향을 받지 않는 것으로 확인되었습니다. CS358789 를 참조하세요.
| 윈드칠 릴리스 | Apache Log4j 버전 | 추가 정보 |
| 11.0 M030 | 로그4j 1.x | 즉각적인 조치 강력히 권장(PTC 권장 사항에 대한 해결 섹션 참조) |
| 11.1 M020 및 이전 버전 11.2.1 플렉스PLM 11.1 M010 플렉스PLM 11.1 M020 플렉스PLM 11.2.1 플렉스PLM 12.0.0 | 로그4j 1.x | 즉각적인 조치 강력히 권장(PTC 권장 사항에 대한 해결 섹션 참조) |
3자 번들 구성 요소에 대한 영향:
- 지원되는 타사 번들 구성 요소도 취약할 수 있습니다.
- Solr
- Cognos
- Tibco
- PTC는 각 특정 공급업체와 협력하여 영향, 악용 가능성 및 권장 조치를 파악하고 있습니다. 또한 보안 위험을 완화하기 위한 가능한 중간 단계를 파악하기 위한 내부 조사가 진행 중입니다.
- 각 타사 구성 요소에 대한 최신 업데이트는 아래 표(해결책 섹션)를 참조하세요.
- FlexPLM – 권장 조치를 따라야 합니다. 추가 고려 사항은 사용 가능해지면 제공됩니다.
- 내비게이트/ThingWorx – CS359107
- Ping Federate - 분석 중
- Wincom – 어떤 확장 프로그램에서도 log4j v1을 직접 사용한 적이 없습니다. 이 라이브러리는 코드의 종속성을 충족하기 위해 포함되었습니다. 분석 결과 공격 표면이나 알려진 악용 사례가 없음이 확인되었습니다. Windchill Extension Platform 1.11.2에서 log4j 1.x 참조가 제거되었지만 windchill-extensions.ptc.com에서 제공되는 최신 릴리스 1.12.2로 이동하는 것이 좋습니다.
이는 기술 문서 359009의 PDF 버전이며, 구 버전일 수 있습니다. 최신 버전 CS359009