CVE-2026-110251
Photo Reviews for WooCommerce <= 1.2.31 - Unauthenticated File Deletion via 'wcpr_image_upload_id' Parameter
The Photo Reviews for WooCommerce plugin for WordPress is vulnerable to unauthorized Media Library File Deletion in all versions up to, and including, 1.2.31. This is due to the delete_reviews_image() function's delete_comment hook trusting attachment IDs supplied via the wcpr_image_upload_id POST parameter that were stored in comment meta without any ownership or capability check — viwcpr_filter_review_image_ids() verifies only that each submitted ID refers to an attachment post type, not that the submitter uploaded or owns it. This makes it possible for unauthenticated attackers to permanently delete any WordPress media library attachment — including its files on disk as recorded by wp_delete_attachment() — by embedding attacker-chosen attachment IDs into a review comment, then waiting for a moderator to remove the review or for WordPress core's wp_scheduled_delete cron to purge it after EMPTY_TRASH_DAYS. The nonce required to submit the parameter (wcpr_image_upload) is a shared public value printed on every product page for guest commenters and does not function as an authentication barrier, making this trivially exploitable without any account.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- None
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
5.4
Photo Reviews for WooCommerce <= 1.2.31 - Unauthenticated File Deletion via 'wcpr_image_upload_id' Parameter
The Photo Reviews for WooCommerce plugin for WordPress is vulnerable to unauthorized Media Library File Deletion in all versions up to, and including, 1.2.31. This is due to the delete_reviews_image() function's delete_comment hook trusting attachment IDs supplied via the wcpr_image_upload_id POST parameter that were stored in comment meta without any ownership or capability check — viwcpr_filter_review_image_ids() verifies only that each submitted ID refers to an attachment post type, not that the submitter uploaded or owns it. This makes it possible for unauthenticated attackers to permanently delete any WordPress media library attachment — including its files on disk as recorded by wp_delete_attachment() — by embedding attacker-chosen attachment IDs into a review comment, then waiting for a moderator to remove the review or for WordPress core's wp_scheduled_delete cron to purge it after EMPTY_TRASH_DAYS. The nonce required to submit the parameter (wcpr_image_upload) is a shared public value printed on every product page for guest commenters and does not function as an authentication barrier, making this trivially exploitable without any account.
- Record
CVE-2026-110251- CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L - Weakness
- CWE-22
- Updated
- 2026-11-06
EUVDEUVD-2026-114611
5.4
The Photo Reviews for WooCommerce plugin for WordPress is vulnerable to unauthorized Media Library File Deletion in all versions up to, and including, 1.2.31. This is due to the delete_reviews_image() function's delete_comment hook trusting attachment IDs supplied via the wcpr_image_upload_id POST parameter that were stored in comment meta without any ownership or capability check — viwcpr_filter_review_image_ids() verifies only that each submitted ID refers to an attachment post type, not that the submitter uploaded or owns it. This makes it possible for unauthenticated attackers to permanently delete any WordPress media library attachment — including its files on disk as recorded by wp_delete_attachment() — by embedding attacker-chosen attachment IDs into a review comment, then waiting for a moderator to remove the review or for WordPress core's wp_scheduled_delete cron to purge it after EMPTY_TRASH_DAYS. The nonce required to submit the parameter (wcpr_image_upload) is a shared public value printed on every product page for guest commenters and does not function as an authentication barrier, making this trivially exploitable without any account.
- Record
EUVD-2026-114611- CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L - Updated
- 2026-11-06
GitHub AdvisoriesGHSA-qm3q-4mg3-2277
5.4
The Photo Reviews for WooCommerce plugin for WordPress is vulnerable to unauthorized Media...
The Photo Reviews for WooCommerce plugin for WordPress is vulnerable to unauthorized Media Library File Deletion in all versions up to, and including, 1.2.31. This is due to the delete_reviews_image() function's delete_comment hook trusting attachment IDs supplied via the wcpr_image_upload_id POST parameter that were stored in comment meta without any ownership or capability check — viwcpr_filter_review_image_ids() verifies only that each submitted ID refers to an attachment post type, not that the submitter uploaded or owns it. This makes it possible for unauthenticated attackers to permanently delete any WordPress media library attachment — including its files on disk as recorded by wp_delete_attachment() — by embedding attacker-chosen attachment IDs into a review comment, then waiting for a moderator to remove the review or for WordPress core's wp_scheduled_delete cron to purge it after EMPTY_TRASH_DAYS. The nonce required to submit the parameter (wcpr_image_upload) is a shared public value printed on every product page for guest commenters and does not function as an authentication barrier, making this trivially exploitable without any account.
- Record
GHSA-qm3q-4mg3-2277- CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L - Weakness
- CWE-22
- Updated
- 2026-11-02
NVD
5.4
The Photo Reviews for WooCommerce plugin for WordPress is vulnerable to unauthorized Media Library File Deletion in all versions up to, and including, 1.2.31. This is due to the delete_reviews_image() function's delete_comment hook trusting attachment IDs supplied via the wcpr_image_upload_id POST parameter that were stored in comment meta without any ownership or capability check — viwcpr_filter_review_image_ids() verifies only that each submitted ID refers to an attachment post type, not that the submitter uploaded or owns it. This makes it possible for unauthenticated attackers to permanently delete any WordPress media library attachment — including its files on disk as recorded by wp_delete_attachment() — by embedding attacker-chosen attachment IDs into a review comment, then waiting for a moderator to remove the review or for WordPress core's wp_scheduled_delete cron to purge it after EMPTY_TRASH_DAYS. The nonce required to submit the parameter (wcpr_image_upload) is a shared public value printed on every product page for guest commenters and does not function as an authentication barrier, making this trivially exploitable without any account.
- Record
CVE-2026-110251- CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:L - Weakness
- CWE-22
- Updated
- 2026-11-06
Affected products
History
| Recorded | Changed | Sources |
|---|---|---|
| facts | CVE List, NVD | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-110251 is a medium vulnerability (CVSS 5.4) in Villatheme Revopic – Photo Reviews For Woocommerce, published October 31, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.32%, the 24th percentile. No source names a fixed version.
References
wordfence.com/threat-intel/vulnerabilities/id/b9a4d8f9-7b25-4c31-8457-2cb45bd17150?source=cve
plugins.trac.wordpress.org/browser/woo-photo-reviews/trunk/admin/admin.php
plugins.trac.wordpress.org/browser/woo-photo-reviews/trunk/frontend/frontend.php
plugins.trac.wordpress.org/browser/woo-photo-reviews/trunk/includes/functions.php
wordpress.org/plugins/woo-photo-reviews
nvd.nist.gov/vuln/detail/CVE-2026-110251
github.com/advisories/GHSA-qm3q-4mg3-2277