REPORT / 01
Analysis Report · Folder Analysis cache/mediapress_1.6.1 → cache/mediapress_1.6.2 — CVE-2025-14552
Shared security patch analysis results
02 ·
Lifecycle actions
cancel · resume · skip · regenerate
03 ·
Share this analysis
copy link · embed report
03 ·
CVE Security Analysis & Writeups
ai-generated · per cve
Comprehensive security analysis generated by AI for each confirmed CVE match. Click on a CVE to view the detailed writeup including vulnerability background, technical details, patch analysis, and PoC guide.
CVE-2025-14552
NVD
AI-Generated Analysis
05 ·
Findings
filter · search · paginate
Showing 0 to 0 of 0 results
templates/mediapress/default/shortcodes/create-gallery.php
AI: 2 vulnerabilities
2 true positives
CVE-2025-14552
--- cache/mediapress_1.6.1/templates/mediapress/default/shortcodes/create-gallery.php 2026-01-08 00:34:42.980558104 +0000+++ cache/mediapress_1.6.2/templates/mediapress/default/shortcodes/create-gallery.php 2026-01-08 00:34:53.845213096 +0000@@ -17,23 +17,23 @@ $title = $description = $status = $type = $component = ''; if ( ! empty( $_POST['mpp-gallery-title'] ) ) {- $title = $_POST['mpp-gallery-title'];+ $title = wp_unslash( $_POST['mpp-gallery-title'] ); } if ( ! empty( $_POST['mpp-gallery-description'] ) ) {- $description = $_POST['mpp-gallery-description'];+ $description = wp_unslash( $_POST['mpp-gallery-description'] ); } if ( ! empty( $_POST['mpp-gallery-status'] ) ) {- $status = $_POST['mpp-gallery-status'];+ $status = wp_unslash( $_POST['mpp-gallery-status'] ); } if ( ! empty( $_POST['mpp-gallery-type'] ) ) {- $type = $_POST['mpp-gallery-type'];+ $type = wp_unslash( $_POST['mpp-gallery-type'] ); } if ( ! empty( $_POST['mpp-gallery-component'] ) ) {- $component = $_POST['mpp-gallery-component'];+ $component = wp_unslash( $_POST['mpp-gallery-component'] ); } $current_component = 'sitewide';// mpp_get_current_component();@@ -82,7 +82,7 @@ ?> <input type='hidden' name="mpp-action" value='create-gallery'/>- <input type='hidden' name="mpp-gallery-component" value="<?php echo $current_component; ?>"/>+ <input type='hidden' name="mpp-gallery-component" value="<?php echo esc_attr( $current_component ); ?>"/> <div class="mpp-u-1 mpp-clearfix mpp-submit-button"> <button type="submit" class='mpp-align-right mpp-button-primary mpp-create-gallery-button '> <?php _e( 'Create', 'mediapress' ); ?></button>
AI Analysis
Vulnerability Existed: yes TRUE POSITIVE Stored Cross-Site Scripting (XSS) - CWE-79 - templates/mediapress/default/shortcodes/create-gallery.php [85] Old Code: ``` <input type='hidden' name="mpp-gallery-component" value="<?php echo $current_component; ?>"/> ``` Fixed Code: ``` <input type='hidden' name="mpp-gallery-component" value="<?php echo esc_attr( $current_component ); ?>"/> ``` Explanation: The variable `$current_component` is output directly into an HTML attribute without escaping. If this variable contains user-controlled data or untrusted content, an attacker could inject malicious JavaScript through the attribute value. The fix applies `esc_attr()`, the WordPress function for properly escaping attribute values, preventing XSS attacks. --- Vulnerability Existed: yes TRUE POSITIVE Improper Input Validation - CWE-20 - templates/mediapress/default/shortcodes/create-gallery.php [20, 24, 28, 32, 36] Old Code: ``` $title = $_POST['mpp-gallery-title']; $description = $_POST['mpp-gallery-description']; $status = $_POST['mpp-gallery-status']; $type = $_POST['mpp-gallery-type']; $component = $_POST['mpp-gallery-component']; ``` Fixed Code: ``` $title = wp_unslash( $_POST['mpp-gallery-title'] ); $description = wp_unslash( $_POST['mpp-gallery-description'] ); $status = wp_unslash( $_POST['mpp-gallery-status'] ); $type = wp_unslash( $_POST['mpp-gallery-type'] ); $component = wp_unslash( $_POST['mpp-gallery-component'] ); ``` Explanation: By default, WordPress applies `wp_magic_quotes()` to $_POST data, adding slashes to handle quotes. The code was directly using these escaped values without removing the slashes. The fix applies `wp_unslash()` to properly handle the data before storage or processing, preventing double-escaping issues and ensuring data integrity. This is important when the data will be stored in the database or used in other contexts.
CVE Analysis Results:
CVE-2025-14552: Yes
View CVE Description
The MediaPress plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the plugin's mpp-uploader shortcode in all versions up to, and including, 1.6.1 due to insufficient input sanitization and output escaping on user supplied attributes. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
templates/mediapress/default/shortcodes/uploader.php
AI: 1 vulnerabilities
1 true positive
CVE-2025-14552
--- cache/mediapress_1.6.1/templates/mediapress/default/shortcodes/uploader.php 2026-01-08 00:34:42.988558586 +0000+++ cache/mediapress_1.6.2/templates/mediapress/default/shortcodes/uploader.php 2026-01-08 00:34:53.857213820 +0000@@ -1,5 +1,5 @@ <?php-// Exit if the file is accessed directly over web+// Exit if the file is accessed directly over web. if ( ! defined( 'ABSPATH' ) ) { exit; }@@ -45,7 +45,7 @@ <input type='hidden' name='mpp-context' class="mpp-context" id='mpp-context' value="<?php echo $context; ?>"/> <?php if ( $type ) : ?>- <input type='hidden' name='mpp-uploading-media-type' class='mpp-uploading-media-type' value="<?php echo $type; ?>"/>+ <input type='hidden' name='mpp-uploading-media-type' class='mpp-uploading-media-type' value="<?php echo esc_attr( $type ); ?>"/> <?php endif; ?> <?php if ( $skip_gallery_check ) : ?>@@ -53,7 +53,7 @@ <?php endif; ?> <?php if ( $gallery_id || $skip_gallery_check ) : ?>- <input type='hidden' name='mpp-shortcode-upload-gallery-id' id='mpp-shortcode-upload-gallery-id' value="<?php echo $gallery_id; ?>"/>+ <input type='hidden' name='mpp-shortcode-upload-gallery-id' id='mpp-shortcode-upload-gallery-id' value="<?php echo esc_attr( $gallery_id ); ?>"/> <?php else : ?> <?php
AI Analysis
Vulnerability Existed: yes
TRUE POSITIVE
[CWE Name] CWE-79 - Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') - CWE-79 - templates/mediapress/default/shortcodes/uploader.php - Lines 48, 56
[Old Code]
Line 48: `<input type='hidden' name='mpp-uploading-media-type' class='mpp-uploading-media-type' value="<?php echo $type; ?>"/>`
Line 56: `<input type='hidden' name='mpp-shortcode-upload-gallery-id' id='mpp-shortcode-upload-gallery-id' value="<?php echo $gallery_id; ?>"/>`
[Fixed Code]
Line 48: `<input type='hidden' name='mpp-uploading-media-type' class='mpp-uploading-media-type' value="<?php echo esc_attr( $type ); ?>"/>`
Line 56: `<input type='hidden' name='mpp-shortcode-upload-gallery-id' id='mpp-shortcode-upload-gallery-id' value="<?php echo esc_attr( $gallery_id ); ?>"/>`
Explanation:
The original code directly echoed the `$type` and `$gallery_id` variables into HTML attribute values without proper escaping. This creates a Stored/Reflected Cross-Site Scripting (XSS) vulnerability. An attacker could inject malicious JavaScript by providing specially crafted input containing quotes and script tags (e.g., `" onload="alert('XSS')"`), which would be executed in the browser. The fix applies `esc_attr()`, a WordPress escaping function specifically designed to safely escape data for use in HTML attributes, preventing the injection of malicious code. This is a standard XSS prevention technique in WordPress development.
CVE Analysis Results:
CVE-2025-14552: Yes
View CVE Description
The MediaPress plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the plugin's mpp-uploader shortcode in all versions up to, and including, 1.6.1 due to insufficient input sanitization and output escaping on user supplied attributes. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
Showing 1 to 2 of 2 results