Changeset 3465852
- Timestamp:
- 02/20/2026 02:08:10 PM (3 months ago)
- Location:
- mailarchiver
- Files:
-
- 14 edited
- 1 copied
-
tags/4.5.1 (copied) (copied from mailarchiver/trunk)
-
tags/4.5.1/CHANGELOG.md (modified) (1 diff)
-
tags/4.5.1/admin/class-mailarchiver-admin.php (modified) (1 diff)
-
tags/4.5.1/includes/features/class-inlinehelp.php (modified) (2 diffs)
-
tags/4.5.1/includes/system/class-uuid.php (modified) (1 diff)
-
tags/4.5.1/init.php (modified) (1 diff)
-
tags/4.5.1/mailarchiver.php (modified) (1 diff)
-
tags/4.5.1/readme.txt (modified) (1 diff)
-
trunk/CHANGELOG.md (modified) (1 diff)
-
trunk/admin/class-mailarchiver-admin.php (modified) (1 diff)
-
trunk/includes/features/class-inlinehelp.php (modified) (2 diffs)
-
trunk/includes/system/class-uuid.php (modified) (1 diff)
-
trunk/init.php (modified) (1 diff)
-
trunk/mailarchiver.php (modified) (1 diff)
-
trunk/readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
mailarchiver/tags/4.5.1/CHANGELOG.md
r3465101 r3465852 3 3 4 4 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and **MailArchiver** adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 5 6 ## [4.5.1] - 2026-02-20 7 8 ### Fixed 9 - [SEC007] Authenticated (Admininistrator+) SQL Injection via the `logid` parameter / [CVE-2026-2831](https://www.cve.org/CVERecord?id=CVE-2026-2831) (thanks to Ronnachai Chaipha (rxnr) via [Wordfence](https://www.wordfence.com)). 10 5 11 6 12 ## [4.5.0] - 2026-02-19 -
mailarchiver/tags/4.5.1/admin/class-mailarchiver-admin.php
r3465101 r3465852 125 125 $this->current_view = null; 126 126 add_action( 'load-' . $hook_suffix, [ new InlineHelp(), 'set_contextual_viewer' ] ); 127 $logid = filter_input( INPUT_GET, 'logid', FILTER_SANITIZE_FULL_SPECIAL_CHARS);128 $eventid = filter_input( INPUT_GET, 'eventid', FILTER_SANITIZE_NUMBER_INT );127 $logid = UUID::sanitize_v4( filter_input( INPUT_GET, 'logid', FILTER_SANITIZE_FULL_SPECIAL_CHARS ) ); 128 $eventid = (int) filter_input( INPUT_GET, 'eventid', FILTER_SANITIZE_NUMBER_INT ); 129 129 if ( 'mailarchiver-viewer' === filter_input( INPUT_GET, 'page', FILTER_SANITIZE_FULL_SPECIAL_CHARS ) ) { 130 130 if ( isset( $logid ) && isset( $eventid ) && 0 !== $eventid ) { -
mailarchiver/tags/4.5.1/includes/features/class-inlinehelp.php
r2658583 r3465852 15 15 use Mailarchiver\System\L10n; 16 16 use Mailarchiver\System\Role; 17 use Mailarchiver\System\UUID; 17 18 18 19 /** … … 82 83 if ( ! ( $this->event_id = filter_input( INPUT_GET, 'eventid', FILTER_SANITIZE_FULL_SPECIAL_CHARS ) ) ) { 83 84 $this->event_id = filter_input( INPUT_POST, 'eventid', FILTER_SANITIZE_FULL_SPECIAL_CHARS ); 85 } 86 if ( $this->log_id ) { 87 $this->log_id = UUID::sanitize_v4( $this->log_id ); 88 } 89 if ( $this->event_id ) { 90 $this->event_id = (int) $this->event_id ; 84 91 } 85 92 } -
mailarchiver/tags/4.5.1/includes/system/class-uuid.php
r2658583 r3465852 54 54 55 55 /** 56 * Check if a string is a valid v4 UUID 57 * 58 * @param mixed $uuid The string to check 59 * @return boolean True if the string is a valid v4 UUID, false otherwise. 60 * @since 2.0.0 61 */ 62 public static function is_valid_v4( $uuid ) { 63 return is_string( $uuid ) && preg_match( '/^[a-f\d]{8}(-[a-f\d]{4}){4}[a-f\d]{8}$/i', $uuid ); 64 } 65 66 /** 67 * Sanitize a v4 UUID 68 * 69 * @param mixed $uuid The string to sanitize 70 * @return string The sanitized v4 UUID. 71 * @since 2.0.0 72 */ 73 public static function sanitize_v4( $uuid ) { 74 return self::is_valid_v4( $uuid ) ? (string) $uuid : '00000000-0000-4000-0000-000000000000'; 75 } 76 77 /** 56 78 * Generates a (pseudo) unique ID. 57 79 * This function does not generate cryptographically secure values, and should not be used for cryptographic purposes. -
mailarchiver/tags/4.5.1/init.php
r3465101 r3465852 13 13 define( 'MAILARCHIVER_PRODUCT_ABBREVIATION', 'mailarchiver' ); 14 14 define( 'MAILARCHIVER_SLUG', 'mailarchiver' ); 15 define( 'MAILARCHIVER_VERSION', '4.5. 0' );15 define( 'MAILARCHIVER_VERSION', '4.5.1' ); 16 16 define( 'MAILARCHIVER_MONOLOG_VERSION', '2.9.3' ); 17 17 define( 'MAILARCHIVER_CODENAME', '"-"' ); -
mailarchiver/tags/4.5.1/mailarchiver.php
r3465101 r3465852 11 11 * Plugin URI: https://perfops.one/mailarchiver 12 12 * Description: Automatically archive and store all emails sent from your site. 13 * Version: 4.5. 013 * Version: 4.5.1 14 14 * Requires at least: 6.2 15 15 * Requires PHP: 8.1 -
mailarchiver/tags/4.5.1/readme.txt
r3465101 r3465852 5 5 Requires PHP: 8.1 6 6 Tested up to: 6.9 7 Stable tag: 4.5. 07 Stable tag: 4.5.1 8 8 License: GPLv3 9 9 License URI: https://www.gnu.org/licenses/gpl-3.0.html -
mailarchiver/trunk/CHANGELOG.md
r3465101 r3465852 3 3 4 4 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and **MailArchiver** adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 5 6 ## [4.5.1] - 2026-02-20 7 8 ### Fixed 9 - [SEC007] Authenticated (Admininistrator+) SQL Injection via the `logid` parameter / [CVE-2026-2831](https://www.cve.org/CVERecord?id=CVE-2026-2831) (thanks to Ronnachai Chaipha (rxnr) via [Wordfence](https://www.wordfence.com)). 10 5 11 6 12 ## [4.5.0] - 2026-02-19 -
mailarchiver/trunk/admin/class-mailarchiver-admin.php
r3465101 r3465852 125 125 $this->current_view = null; 126 126 add_action( 'load-' . $hook_suffix, [ new InlineHelp(), 'set_contextual_viewer' ] ); 127 $logid = filter_input( INPUT_GET, 'logid', FILTER_SANITIZE_FULL_SPECIAL_CHARS);128 $eventid = filter_input( INPUT_GET, 'eventid', FILTER_SANITIZE_NUMBER_INT );127 $logid = UUID::sanitize_v4( filter_input( INPUT_GET, 'logid', FILTER_SANITIZE_FULL_SPECIAL_CHARS ) ); 128 $eventid = (int) filter_input( INPUT_GET, 'eventid', FILTER_SANITIZE_NUMBER_INT ); 129 129 if ( 'mailarchiver-viewer' === filter_input( INPUT_GET, 'page', FILTER_SANITIZE_FULL_SPECIAL_CHARS ) ) { 130 130 if ( isset( $logid ) && isset( $eventid ) && 0 !== $eventid ) { -
mailarchiver/trunk/includes/features/class-inlinehelp.php
r2658583 r3465852 15 15 use Mailarchiver\System\L10n; 16 16 use Mailarchiver\System\Role; 17 use Mailarchiver\System\UUID; 17 18 18 19 /** … … 82 83 if ( ! ( $this->event_id = filter_input( INPUT_GET, 'eventid', FILTER_SANITIZE_FULL_SPECIAL_CHARS ) ) ) { 83 84 $this->event_id = filter_input( INPUT_POST, 'eventid', FILTER_SANITIZE_FULL_SPECIAL_CHARS ); 85 } 86 if ( $this->log_id ) { 87 $this->log_id = UUID::sanitize_v4( $this->log_id ); 88 } 89 if ( $this->event_id ) { 90 $this->event_id = (int) $this->event_id ; 84 91 } 85 92 } -
mailarchiver/trunk/includes/system/class-uuid.php
r2658583 r3465852 54 54 55 55 /** 56 * Check if a string is a valid v4 UUID 57 * 58 * @param mixed $uuid The string to check 59 * @return boolean True if the string is a valid v4 UUID, false otherwise. 60 * @since 2.0.0 61 */ 62 public static function is_valid_v4( $uuid ) { 63 return is_string( $uuid ) && preg_match( '/^[a-f\d]{8}(-[a-f\d]{4}){4}[a-f\d]{8}$/i', $uuid ); 64 } 65 66 /** 67 * Sanitize a v4 UUID 68 * 69 * @param mixed $uuid The string to sanitize 70 * @return string The sanitized v4 UUID. 71 * @since 2.0.0 72 */ 73 public static function sanitize_v4( $uuid ) { 74 return self::is_valid_v4( $uuid ) ? (string) $uuid : '00000000-0000-4000-0000-000000000000'; 75 } 76 77 /** 56 78 * Generates a (pseudo) unique ID. 57 79 * This function does not generate cryptographically secure values, and should not be used for cryptographic purposes. -
mailarchiver/trunk/init.php
r3465101 r3465852 13 13 define( 'MAILARCHIVER_PRODUCT_ABBREVIATION', 'mailarchiver' ); 14 14 define( 'MAILARCHIVER_SLUG', 'mailarchiver' ); 15 define( 'MAILARCHIVER_VERSION', '4.5. 0' );15 define( 'MAILARCHIVER_VERSION', '4.5.1' ); 16 16 define( 'MAILARCHIVER_MONOLOG_VERSION', '2.9.3' ); 17 17 define( 'MAILARCHIVER_CODENAME', '"-"' ); -
mailarchiver/trunk/mailarchiver.php
r3465101 r3465852 11 11 * Plugin URI: https://perfops.one/mailarchiver 12 12 * Description: Automatically archive and store all emails sent from your site. 13 * Version: 4.5. 013 * Version: 4.5.1 14 14 * Requires at least: 6.2 15 15 * Requires PHP: 8.1 -
mailarchiver/trunk/readme.txt
r3465101 r3465852 5 5 Requires PHP: 8.1 6 6 Tested up to: 6.9 7 Stable tag: 4.5. 07 Stable tag: 4.5.1 8 8 License: GPLv3 9 9 License URI: https://www.gnu.org/licenses/gpl-3.0.html
Note: See TracChangeset
for help on using the changeset viewer.
