
Buildpack fornecendo uma solução alternativa para CVE-2021-44228 (exploit RCE do Log4j)
Este projeto mostra como criar um buildpack CNCF como solução alternativa para CVE-2021-44228, um exploit do Log4j que resulta em execução remota de código.
Ao usar este buildpack, você pode aplicar uma solução alternativa para este exploit para todos os aplicativos Java.
A solução alternativa simplesmente desabilita a formatação de logs através da propriedade de sistema JVM
log4j2.formatMsgNoLookups com valor definido como true.
Como correção de longo prazo, você deve atualizar seus aplicativos com Log4j 2.15.0+.
Por favor, não use este projeto para cargas de trabalho de produção: isto é apenas para fins educacionais!
Inclua este buildpack ao construir seu aplicativo Java:
pack build myrepo/myapp -b ghcr.io/alexandreroman/cve-2021-44228-workaround-buildpack -b paketo-buildpacks/java
Este repositório inclui um aplicativo Java simples que utiliza Log4j (incluindo o exploit RCE). Construa este aplicativo com o buildpack:
pack build myrepo/myapp -p app -b ghcr.io/alexandreroman/cve-2021-44228-workaround-buildpack -b paketo-buildpacks/java
Você pode agora executar este aplicativo:
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
Ao usar kpack para construir imagens de contêiner dentro do seu cluster Kubernetes, você precisa aplicar os seguintes passos:
ghcr.io/alexandreroman/cve-2021-44228-workaround-buildpack ao seu ClusterStoreClusterBuilder ou BuilderAo usar VMware Tanzu Build Service,
você pode usar estes comandos para adicionar o buildpack ao seu ClusterStore:
kp clusterstore add default -b ghcr.io/alexandreroman/cve-2021-44228-workaround-buildpack
Em seguida, adicione o buildpack ao seu builder com o Tanzu Build Service:
kp clusterbuilder patch mybuilder -b tanzu-buildpacks/java -b alexandreroman/cve-2021-44228-workaround-buildpack
Todas as imagens de contêiner que referenciam seu builder serão então reconstruídas, incluindo a solução alternativa para o exploit RCE do Log4j.
Aproveite!
Contribuições são sempre bem-vindas!
Sinta-se à vontade para abrir issues e enviar PRs.
Copyright © 2021 VMware, Inc. ou suas afiliadas.
Este projeto está licenciado sob a Apache Software License versão 2.0.