
Buildpack che fornisce una soluzione alternativa per CVE-2021-44228 (Log4j RCE exploit)
Questo progetto mostra come creare un CNCF buildpack come workaround per CVE-2021-44228, un exploit di Log4j che porta all'esecuzione remota di codice.
Utilizzando questo buildpack, puoi applicare un workaround per questo exploit a tutte le app Java. Il workaround consiste semplicemente nel disabilitare la formattazione dei log tramite la proprietà di sistema JVM log4j2.formatMsgNoLookups impostata a true.
Come soluzione a lungo termine, dovresti aggiornare le tue app con Log4j 2.15.0+.
Per favore, non utilizzare questo progetto per carichi di lavoro in produzione: è solo a scopo educativo!
Includi questo buildpack quando costruisci la tua app Java:
pack build myrepo/myapp -b ghcr.io/alexandreroman/cve-2021-44228-workaround-buildpack -b paketo-buildpacks/java
Questo repository include una semplice app Java che utilizza Log4j (incluso l'exploit RCE). Costruisci questa app con il buildpack:
pack build myrepo/myapp -p app -b ghcr.io/alexandreroman/cve-2021-44228-workaround-buildpack -b paketo-buildpacks/java
Ora puoi eseguire questa app:
docker run --rm -p 8080:8080 myrepo/myapp
...
2021-12-10 18:58:03.234 INFO 77965 --- [ main] f.a.c.Application : Is Log4j2 workaround for CVE-2021-44228 enabled? true
Quando usi kpack per creare immagini container nel tuo cluster Kubernetes, devi seguire questi passaggi:
ghcr.io/alexandreroman/cve-2021-44228-workaround-buildpack al tuo ClusterStoreClusterBuilder o BuilderQuando usi VMware Tanzu Build Service, puoi usare questi comandi per aggiungere il buildpack al tuo ClusterStore:
kp clusterstore add default -b ghcr.io/alexandreroman/cve-2021-44228-workaround-buildpack
Poi aggiungi il buildpack al tuo builder con Tanzu Build Service:
kp clusterbuilder patch mybuilder -b tanzu-buildpacks/java -b alexandreroman/cve-2021-44228-workaround-buildpack
Tutte le immagini container che fanno riferimento al tuo builder verranno quindi ricostruite, includendo il workaround per l'exploit RCE di Log4j.
Buon divertimento!
I contributi sono sempre benvenuti!
Sentiti libero di aprire issue e inviare PR.
Copyright © 2021 VMware, Inc. o sue affiliate.
Questo progetto è concesso in licenza secondo i termini della Apache Software License versione 2.0.