
Pequeño resumen de la ejecución remota de código de log4j2 (CVE-2021-44228)
Construir con maven.
mvn test
El plugin surefire se ejecutará dos veces:
ExploitabilityTest demuestra la explotabilidad del error.
MitigationTest se ejecutará con la propiedad de vm
-Dlog4j2.formatMsgNoLookups=true y demuestra la efectividad de la mitigación.
log4j2 no es log4j 1.x; ambos son frameworks de registro, pero son incompatibles a nivel de API. log4j 1.x no se ve afectado por este error, pero puede tener otras vulnerabilidades de seguridad.
log4j2 evalúa un patrón de búsqueda ( ${...} ) tanto en la cadena de formato como en los argumentos. por lo tanto, cuando se registra entrada externa, se pueden agregar dichos patrones y log4j2 los evaluará.
el manejador de búsqueda para jndi está habilitado por defecto, y por lo tanto puede ser activado por un patrón de búsqueda como el descrito anteriormente, por ejemplo:
${jndi:127.0.0.1:1389/a}
debido a errores en el código jndi, java es propenso a ejecuciones remotas de código
debido a que estas tres partes se combinan, ahora se pueden desencadenar ejecuciones remotas de código desde el exterior