漏洞描述 Apache Log4j2 是一个基于 Java 的日志记录工具。该工具重写了 Log4j 框架,并且引入了大量丰富的特性。该日志框架被大量用于业务系统开发,用来记录日志信息。 在大多数情况下,开发者可能会将用户输入导致的错误信息写入日志中。攻击者利用此特性可通过该漏洞构造特殊的数据请求包,最终触发远程代码执行。由于该漏洞影响范围极广,建议广大用户及时排查相关漏洞,经过白帽汇安全研究院分析确认,目前市面有多款流行的系统都受影响。 该漏洞危害等级:严重 影响范围Apache Log4j 2.x < 2.15.0-rc2 已知影响组件- Apache Struts2
- Apache Solr
- Apache Flink
- Apache Druid
- flume
- dubbo
- logstash
- VMware Horizon
- VMware vCenter Server
- VMware HCX
- VMware NSX-T Data Center
- VMware Unified Access Gateway
- VMware WorkspaceOne Access
- VMware Identity Manager`
- VMware vRealize Operations
- VMware vRealize Operations Cloud Proxy
- VMware vRealize Log Insight
- VMware vRealize Automation
- VMware vRealize Lifecycle Manager
- VMware Telco Cloud Automation
- VMware Site Recovery Manager
- VMware Carbon Black Cloud Workload Appliance
- VMware Carbon Black EDR Server
- VMware Tanzu GemFire
- VMware Tanzu Greenplum
- VMware Tanzu Operations Manager
- VMware Tanzu Application Service for VMs
- VMware Tanzu Kubernetes Grid Integrated Edition
- VMware Tanzu Observability by Wavefront Nozzle
- Healthwatch for Tanzu Application Service
- Spring Cloud Services for VMware Tanzu
- Spring Cloud Gateway for VMware Tanzu
- Spring Cloud Gateway for Kubernetes
- API Portal for VMware Tanzu
- Single Sign-On for VMware Tanzu Application Service
- App Metrics
- VMware vCenter Cloud Gateway
- VMware Tanzu SQL with MySQL for VMs
- VMware vRealize Orchestrator
- VMware Cloud Foundation
- VMware Workspace ONE Access Connector
- VMware Horizon DaaS
- VMware Horizon Cloud Connector! v! H1 q2 L3 w( K* P5 H
受影响开源组件项目 仓库地址 版本 ' I+ p1 ]0 m- F. u2 f0 J @
elasticsearch(org.elasticsearch)https://github.com/elastic/elasticsearch8.0.0-alpha2 等(共 100 个)
+ K4 _" ?3 M2 T! Cspring-webflux(org.springframework)https://github.com/spring-projects/spring-framework5.2.6.RELEASE 等(共 40 个)
4 O% i- `, B9 s6 ?" Mdruid(com.alibaba)https://github.com/alibaba/druid1.2.8 等(共 68 个)4 S% {, z% ]9 G: c; z8 d
hystrix-rx-netty-metrics-stream(com.netflix.hystrix)https://github.com/Netflix/Hystrix1.5.4 等(共 2 个)9 z# `( Y1 \. K8 i2 w
spring-cloud-starter-alibaba-sentinel(com.alibaba.cloud)https://github.com/alibaba/spring-cloud-alibaba2021.1 等(共 14 个)
9 [1 P* \6 N U, |spring-boot-starter-ahas-sentinel-client(com.alibaba.csp)https://github.com/alibaba/Sentinel1.3.2 等(共 17 个)
4 T- X" Y' U0 B1 ?/ V7 K0 |redisson(org.redisson)https://github.com/redisson/redisson2.2.24 等(共 3 个): Q- ?# u6 ]& q- c
HikariCP(com.zaxxer)https://github.com/brettwooldridge/HikariCP5.0.0 等(共 27 个)
/ F6 f [8 h; ?6 ?6 F6 a2 M% Rzipkin-collector-service(io.zipkin)https://github.com/openzipkin/zipkin1.40.2 等(共 27 个)* T2 s3 w* \7 ]* [$ G4 D
mybatis-plus(com.baomidou)https://github.com/baomidou/mybatis-plus3.4.3.4 等(共 41 个)# w- h$ q) i, L- Y! W
zuul-sample(com.netflix.zuul)https://github.com/Netflix/zuul2.3.0 等(共 10 个)/ S: j( i. ?1 x- r7 P
watson-data-api-client(com.ibm.watson.data)https://github.com/OpenAPITools/openapi-generator0.1 等(共 1 个)% X# j. ]9 r( U8 k' s+ F$ {
spring-boot-admin-sample-consul(de.codecentric)https://github.com/codecentric/spring-boot-admin2.5.4 等(共 40 个)
9 u: a0 d8 J C) X( V$ h8 mjedis(redis.clients)https://github.com/redis/jedisjedis-3.6.2 等(共 36 个)6 t. J2 J( }5 k6 x
grpc-benchmarks(io.grpc)https://github.com/grpc/grpc-java1.9.1 等(共 65 个); e- q& c6 g9 {* f5 l& e; R
ktor-client-json-tests(io.ktor)https://github.com/ktorio/ktor1.6.7 等(共 32 个)
1 x5 Y I6 n9 D5 Dgitbucket_2.13(io.github.gitbucket)https://github.com/gitbucket/gitbucket4.32.0 等(共 27 个)
, `4 t. ]; I+ B6 }& g5 k$ o7 dfinagle-zipkin_2.12(com.twitter)https://github.com/twitter/finagle7.1.0 等(共 56 个)
% N7 k1 T. d9 P1 }- L- ^6 h4 aresilience4j-vertx(io.github.resilience4j)https://github.com/resilience4j/resilience4j0.9.0 等(共 9 个)
+ o: A) a$ A/ K- y. L- N5 o' Zelasticsearch-sql(org.nlpcn)https://github.com/NLPchina/elasticsearch-sql6.8.13.0 等(共 9 个)3 X' h0 g) Y9 \5 |
exposed-spring-boot-starter(org.jetbrains.exposed)https://github.com/JetBrains/Exposed0.36.2 等(共 11 个)
) K5 u" C% E2 l% A6 Tblade-sql2o(com.bladejava)https://github.com/lets-blade/blade1.2.9 等(共 1 个)# X! V/ w7 c* o
netty-socketio(com.corundumstudio.socketio)https://github.com/mrniko/netty-socketio1.7.19 等(共 8 个)0 p8 `, E" ~, \7 S& [# N3 Y
springfox-swagger2(io.springfox)https://github.com/springfox/springfox2.10.5 等(共 6 个)
. C& S! X8 a5 S8 umain_2.12(org.scala-sbt)https://github.com/sbt/sbt1.6.0-RC1 等(共 88 个)
) m- p# U! Z' @1 v. f* flettuce-core(io.lettuce)https://github.com/lettuce-io/lettuce-core6.1.5.RELEASE 等(共 42 个)
) \/ V0 ?- N# urepository-azure(org.opensearch.plugin)https://github.com/opensearch-project/OpenSearch1.2.0 等(共 3 个)
, ?8 n% m# s8 r* Y2 B; t6 W: g. Z; Lreactor-test(io.projectreactor)https://github.com/reactor/reactor-core3.3.4.RELEASE 等(共 3 个)) D( i/ ]' W/ R% p- n
corda-webserver-impl(net.corda)https://github.com/corda/cordacorda-3.0 等(共 32 个); C9 s" K# J# D8 ]4 H
conductor-redis-persistence(com.netflix.conductor)https://github.com/Netflix/conductor3.3.6 等(共 100 个)
% Y/ g2 N4 q" ^9 c& M; sarmeria(com.linecorp.armeria)https://github.com/line/armeria0.26.1.Final 等(共 2 个)# Z+ J/ Y# H( G Y* e# u
breeze-parent_2.13(org.scalanlp)https://github.com/scalanlp/breeze2.0.1-RC1 等(共 5 个): C% Z! S6 l# P7 ]- y
micrometer-core(io.micrometer)https://github.com/micrometer-metrics/micrometer1.8.1 等(共 98 个)
3 R2 ]! H4 j' ^2 S! l0 i$ {$ K: v6 xalink_connector_jdbc_sqlite_flink-1.9_2.11(com.alibaba.alink)https://github.com/alibaba/Alink1.5.1 等(共 3 个)" W* }4 ?8 `3 E/ s# `
initializr-actuator(io.spring.initializr)https://github.com/spring-io/initializr0.9.0 等(共 6 个)
* C. h: o o4 `2 S% l. Atelegrambots-spring-boot-starter(org.telegram)https://github.com/rubenlagus/TelegramBots4.9.1 等(共 17 个)
5 A2 E b* [; }# \6 Qspring-data-elasticsearch(org.springframework.data)https://github.com/spring-projects/spring-data-elasticsearch4.3.0 等(共 86 个) K: @& G0 L( \$ P7 `2 Z8 H9 A+ B; t
feast-common(dev.feast)https://github.com/feast-dev/feast0.9.2 等(共 26 个)
" y. u* `/ C- ~5 _0 \) I# pjavamelody-core(net.bull.javamelody)https://github.com/javamelody/javamelody1.88.0 等(共 13 个)
9 j6 {+ G( ~0 W5 _- K1 T7 Panalytics-zoo-bigdl_0.13.0-spark_3.0.0(com.intel.analytics.zoo)https://github.com/intel-analytics/analytics-zoo0.11.0-RC1 等(共 4 个)6 \5 Q* ^5 \- S
scio-tensorflow_2.13(com.spotify)https://github.com/spotify/scio0.9.6 等(共 97 个)
( G7 \9 Q! ]7 V$ i, v% Hgrpc-client-spring-boot-autoconfigure(net.devh)https://github.com/yidongnan/grpc-spring-boot-starter2.9.0.RELEASE 等(共 16 个)
3 P1 m6 M+ x8 F, {" Uinject-server_2.12(com.twitter)https://github.com/twitter/finatra21.9.0 等(共 56 个)
; @+ p+ K. O5 K6 B9 q& Qclient-java-examples(io.kubernetes)https://github.com/kubernetes-client/java8.0.2 等(共 1 个): i1 v2 ^7 z: Z5 T) C
reactivesocket-tck-drivers(io.reactivesocket)https://github.com/rsocket/rsocket-java0.6.0 等(共 1 个)
8 D- K5 ]. o9 P4 Gjest-droid(io.searchbox)https://github.com/searchbox-io/Jest6.3.1 等(共 8 个)
; |( d M; M7 a2 e9 |9 cgraphql-dgs-example-java-webflux(com.netflix.graphql.dgs)https://github.com/Netflix/dgs-framework4.9.7 等(共 36 个)
5 G* a+ K( J% i1 i) Zquill-jdbc-monix_2.11(io.getquill)https://github.com/getquill/quill3.9.0 等(共 62 个) `/ P7 }3 i8 N+ @
doobie-quill_2.12(org.tpolecat)https://github.com/tpolecat/doobie1.0.0-RC1 等(共 61 个)* y9 J- {* l$ i. Q# `$ _" `
http4k(org.http4k)https://github.com/http4k/http4k4.3.4.1 等(共 3 个)/ ~4 B0 {1 O9 A# R# Q* ~( G
elasticsearch-hadoop(org.elasticsearch)https://github.com/elastic/elasticsearch-hadoop8.0.0-beta1 等(共 100 个)+ Y: M( }; E5 l
sbt-shading(io.get-coursier)https://github.com/coursier/coursier1.0.0-RC8 等(共 1 个) {5 f Y& @" _* N( R
spark-cassandra-connector-unshaded_2.10(com.datastax.spark)https://github.com/datastax/spark-cassandra-connector2.0.9 等(共 54 个)2 Z: M6 p( h8 q, D. J* U
webdrivermanager(io.github.bonigarcia)https://github.com/bonigarcia/webdrivermanager4.0.0 等(共 15 个)3 z) F& M, F t) f5 F0 V
common-auth-v3(com.tencent.bk.devops.ci.common)https://github.com/Tencent/bk-ci1.2.0-rc.7-RELEASE 等(共 3 个). P9 b' R8 Y4 x$ p2 q6 g# ?; q
reactor-netty(io.projectreactor.netty)https://github.com/reactor/reactor-netty1.0.9 等(共 75 个)+ ]0 A- X& L$ E: c4 y) o4 A
evcache-client-sample(com.netflix.evcache)https://github.com/Netflix/EVCache5.18.9 等(共 63 个)
2 E# W) N( M# ~6 J: A5 d/ g! ?xtdb-test(com.xtdb)https://github.com/xtdb/xtdb1.20.0 等(共 9 个)
+ F! P- i( C' Q4 atransport-netty4(com.strapdata.elasticsearch.plugin)https://github.com/strapdata/elassandra6.2.3.31 等(共 14 个)
8 ^- r3 e! `* ?5 P# ^; F7 e6 Qsbt-metals(org.scalameta)https://github.com/scalameta/metals0.9.9 等(共 17 个)6 E& K7 A- m0 F v% @' i
elastic4s-embedded_2.12(com.sksamuel.elastic4s)https://github.com/sksamuel/elastic4s6.7.8 等(共 100 个)
5 \( U6 q: W3 \4 k5 |' ^genie-agent(com.netflix.genie)https://github.com/Netflix/genie4.0.4 等(共 100 个)% @/ [7 y; B' o: p, ?, ]2 |$ l2 |
spring-kafka(org.springframework.kafka)https://github.com/spring-projects/spring-kafka2.7.9 等(共 79 个)
5 s1 X0 T& u* X. o- idb-async-common_2.13(com.dripower)https://github.com/mauricio/postgresql-async0.3.109 等(共 19 个)
+ x9 q, e' M0 f1 a6 Y* a% aselenide(com.codeborne)https://github.com/selenide/selenide5.25.0-selenium-4.0.0-rc-2 等(共 18 个)
& @( J/ V" ]' e$ Bcloudfoundry-identity-server(org.cloudfoundry.identity)https://github.com/cloudfoundry/uaa4.30.0 等(共 1 个)
W5 m" [) X' }' s0 |servo-atlas(com.netflix.servo)https://github.com/Netflix/servo0.13.2 等(共 20 个)6 b; T2 x: o+ I2 k
rxnetty-spectator-tcp(io.reactivex)https://github.com/ReactiveX/RxNetty0.5.3-rc.4 等(共 12 个)
! w6 h$ k! h; Z$ w) R0 J+ ^mleap-tensorflow_2.10(ml.combust.mleap)https://github.com/combust/mleap0.9.6 等(共 25 个)8 ~1 b/ h e: U6 f ^
spark-testing-base_2.12(com.holdenkarau)https://github.com/holdenk/spark-testing-base2.4.4_1.1.1 等(共 100 个)
6 F r" _. ~7 v) fgraphql-kotlin-spring-client(com.expediagroup)https://github.com/ExpediaGroup/graphql-kotlin5.0.0-alpha.0 等(共 20 个)$ ~9 n0 c# r+ P" x d6 m1 W( U" |
graphql-spring-boot-test-autoconfigure(com.graphql-java-kickstart)https://github.com/graphql-java-kickstart/graphql-spring-boot8.1.1 等(共 33 个). P0 ~4 c r3 L+ O% z
discord4j-rest(com.discord4j)https://github.com/Discord4J/Discord4J3.2.1 等(共 15 个)- ?$ b) \% M" ~* U4 T
twitter-server-logback-classic_2.13(com.twitter)https://github.com/twitter/twitter-server21.9.0 等(共 54 个)* f- i- a8 _, ~9 ?+ r6 U' I; v
synthea(org.mitre.synthea)https://github.com/synthetichealth/synthea2.7.0 等(共 2 个)9 Q' |% d4 H1 u3 w6 j
spring-integration-redis(org.springframework.integration)https://github.com/spring-projects/spring-integration5.5.6 等(共 30 个)2 f$ c& y* A" T# f; O! w
cyclops-reactor-integration(com.oath.cyclops)https://github.com/aol/cyclops10.4.0 等(共 1 个)
9 m$ }: I U8 _1 E5 U7 p* l0 ]akka-stream-alpakka-geode_2.12(com.lightbend.akka)https://github.com/akka/alpakka1.0-M1 等(共 13 个)
W5 k3 p) s$ |: L9 F. j Nmantis-client(io.mantisrx)https://github.com/Netflix/mantis1.3.9 等(共 83 个)/ w& ]0 e- }5 Z4 n/ H
mybatis-generator-plugin(com.itfsw)https://github.com/itfsw/mybatis-generator-plugin1.2.9 等(共 31 个)
: U# z1 {8 O5 Fktorm-support-sqlserver(org.ktorm)https://github.com/kotlin-orm/ktorm3.3.0 等(共 11 个)% F& p/ Q; I3 k5 e8 \
gatk(org.broadinstitute)https://github.com/broadinstitute/gatk4.beta.2 等(共 39 个)' _) r: g" q& n. l1 }3 n
azure-messaging-servicebus(com.azure)https://github.com/Azure/azure-sdk-for-java7.5.1 等(共 100 个), v6 M+ s) O5 n& P% K, c
mica-metrics(net.dreamlu)https://github.com/lets-mica/mica2.5.7 等(共 7 个)
" d4 b; r! S% i$ F2 n& C; ?shiro-redis(org.crazycake)https://github.com/alexxiyang/shiro-redis3.3.1 等(共 2 个)
0 m+ S1 j4 I( D8 L. @enumeratum-play_2.12(com.beachape)https://github.com/lloydmeta/enumeratum1.5.16 等(共 2 个)
0 b |0 H3 I8 L& a7 Ajdonframework(org.jdon)https://github.com/banq/jdonframework6.6.8 等(共 1 个)
/ g, K' c% {0 X! Z$ Y4 xweid-java-sdk(com.webank)https://github.com/WeBankBlockchain/WeIdentity1.8.1 等(共 3 个)
. P4 w8 F7 v) N [8 F9 ?log-protocol(io.shulie.pradar)https://github.com/shulieTech/Takin2.0.3 等(共 3 个); ?" `" b" `# U6 f0 O" N
micro-boot(com.oath.microservices)https://github.com/aol/micro-server1.2.6 等(共 38 个). @( N6 }! ^4 J. e) _2 l
sparkling-water-package_2.11(ai.h2o)https://github.com/h2oai/sparkling-water2.4.10 等(共 36 个)
' K1 \* X9 O p9 }" l% tscalatest_2.13(au.com.dius.pact.provider)https://github.com/pact-foundation/pact-jvm4.2.4 等(共 5 个)
2 i8 g$ X# |: D9 I% t* f3 {# i/ ~mssql-jdbc(com.microsoft.sqlserver)https://github.com/microsoft/mssql-jdbc8.3.0.jre11-preview 等(共 100 个)
, {6 P" `4 p' {9 F, b& `elide-spring-boot-starter(com.yahoo.elide)https://github.com/yahoo/elide6.0.3 等(共 45 个)
: W( g5 B: }+ X' ~5 X% i& U) e2 tkafka-connect-elastic5(com.datamountaineer)https://github.com/lensesio/stream-reactor1.2.0 等(共 5 个)
; [5 O9 C# F8 `) _2 pkvision-server-spring-boot-jvm(io.kvision)https://github.com/rjaros/kvision5.4.3 等(共 9 个)
$ f" ~5 ] w$ F; H7 kr2dbc-postgresql(org.postgresql)https://github.com/pgjdbc/r2dbc-postgresql0.9.0.RC1 等(共 8 个)+ f. [8 n* b+ Y. N4 v4 [
play-slick-evolutions_2.13(com.typesafe.play)https://github.com/playframework/play-slick5.0.0-RC3 等(共 29 个)
& W: L5 c, \) n. q; s( ~sbt-bloop-core(ch.epfl.scala)https://github.com/scalacenter/bloop1.4.8-43-c2d941d9 等(共 29 个)5 b" q: e& \5 _4 y8 ?7 \
jcseg-elasticsearch(org.lionsoul)https://github.com/lionsoul2014/jcseg2.6.2 等(共 7 个)更多受影响组件查询,请点击以下链接查询:https://log4j2.huoxian.cn/ 漏洞排查代码排查:查看 pom.xml 是否引入 org.apache.logging.log4j、org.apache.logging.log4j2 Linux: sudo find / -name "*log4j-*.jar"Windows: *log4j*.jar攻击排查日志排查: 攻击者在利用前通常采用dnslog方式进行扫描、探测,对于常见利用方式可通过应用系统报错日志中的 "javax.naming.CommunicationException" "javax.naming.NamingException: problem generating object using object factory" "Error looking up JNDI resource"关键字进行排查。 流量排查: 攻击者的数据包中可能存在:“${jndi:rmi”、“${jndi:ldap”字样,可根据此类关键字进行排查。 漏洞复现Vulfocus 靶场环境目前 Vulfocus 已经集成 Log4j2 环境,可通过以下链接启动环境测试: http://vulfocus.fofa.so/#/dashboard?image_id=3b8f15eb-7bd9-49b2-a69e-541f89c4216c 也可通过 docker pull vulfocus/log4j2-rce-2021-12-09:latest 拉取本地环境运行,本地启动命令:docker run -d -P vulfocus/log4j2-rce-2021-12-09:latest 修复建议1、禁止使用 log4j 服务器外连,升级 idk 11.0.1 8u191 7u201 6u211 或更高版本。 2、升级至 log4j-2.15.0-rc2: 下载地址:https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2 3、紧急缓解措施: (1) 修改 jvm 参数 -Dlog4j2.formatMsgNoLookups=true (2) 修改配置 log4j2.formatMsgNoLookups=True (3) 将系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 设置 为 true 参考[1] https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc1 [2] [LOG4J2-3201] Limit the protocols jNDI can use and restrict LDAP. - ASF JIRA (apache.org) [3] ASF Git Repos - logging-log4j2.git/blob - log4j-core/src/test/java/org/apache/logging/log4j/core/lookup/JndiRestrictedLookupTest.java [4] https://mp.weixin.qq.com/s/wC7mrK1Y4DYz9_yW4fLzbw [5] https://help.aliyun.com/noticelist/articleid/1060971232.html [6] https://mp.weixin.qq.com/s/C4zeXHKHDqPeRuLytO7Fzw * w) q2 \7 T' y9 z6 e, t
via https://nosec.org/home/detail/4917.html
% w7 u3 I/ L3 ]4 Y! H9 X/ n |