close

Plugin Directory

Changeset 3465852


Ignore:
Timestamp:
02/20/2026 02:08:10 PM (3 months ago)
Author:
PierreLannoy
Message:

MailArchiver 4.5.1 released from GitHub

Location:
mailarchiver
Files:
14 edited
1 copied

Legend:

Unmodified
Added
Removed
  • mailarchiver/tags/4.5.1/CHANGELOG.md

    r3465101 r3465852  
    33
    44The 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
    511
    612## [4.5.0] - 2026-02-19
  • mailarchiver/tags/4.5.1/admin/class-mailarchiver-admin.php

    r3465101 r3465852  
    125125        $this->current_view = null;
    126126        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 );
    129129        if ( 'mailarchiver-viewer' === filter_input( INPUT_GET, 'page', FILTER_SANITIZE_FULL_SPECIAL_CHARS ) ) {
    130130            if ( isset( $logid ) && isset( $eventid ) && 0 !== $eventid ) {
  • mailarchiver/tags/4.5.1/includes/features/class-inlinehelp.php

    r2658583 r3465852  
    1515use Mailarchiver\System\L10n;
    1616use Mailarchiver\System\Role;
     17use Mailarchiver\System\UUID;
    1718
    1819/**
     
    8283        if ( ! ( $this->event_id = filter_input( INPUT_GET, 'eventid', FILTER_SANITIZE_FULL_SPECIAL_CHARS ) ) ) {
    8384            $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 ;
    8491        }
    8592    }
  • mailarchiver/tags/4.5.1/includes/system/class-uuid.php

    r2658583 r3465852  
    5454
    5555    /**
     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    /**
    5678     * Generates a (pseudo) unique ID.
    5779     * 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  
    1313define( 'MAILARCHIVER_PRODUCT_ABBREVIATION', 'mailarchiver' );
    1414define( 'MAILARCHIVER_SLUG', 'mailarchiver' );
    15 define( 'MAILARCHIVER_VERSION', '4.5.0' );
     15define( 'MAILARCHIVER_VERSION', '4.5.1' );
    1616define( 'MAILARCHIVER_MONOLOG_VERSION', '2.9.3' );
    1717define( 'MAILARCHIVER_CODENAME', '"-"' );
  • mailarchiver/tags/4.5.1/mailarchiver.php

    r3465101 r3465852  
    1111 * Plugin URI:        https://perfops.one/mailarchiver
    1212 * Description:       Automatically archive and store all emails sent from your site.
    13  * Version:           4.5.0
     13 * Version:           4.5.1
    1414 * Requires at least: 6.2
    1515 * Requires PHP:      8.1
  • mailarchiver/tags/4.5.1/readme.txt

    r3465101 r3465852  
    55Requires PHP: 8.1
    66Tested up to: 6.9
    7 Stable tag: 4.5.0
     7Stable tag: 4.5.1
    88License: GPLv3
    99License URI: https://www.gnu.org/licenses/gpl-3.0.html
  • mailarchiver/trunk/CHANGELOG.md

    r3465101 r3465852  
    33
    44The 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
    511
    612## [4.5.0] - 2026-02-19
  • mailarchiver/trunk/admin/class-mailarchiver-admin.php

    r3465101 r3465852  
    125125        $this->current_view = null;
    126126        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 );
    129129        if ( 'mailarchiver-viewer' === filter_input( INPUT_GET, 'page', FILTER_SANITIZE_FULL_SPECIAL_CHARS ) ) {
    130130            if ( isset( $logid ) && isset( $eventid ) && 0 !== $eventid ) {
  • mailarchiver/trunk/includes/features/class-inlinehelp.php

    r2658583 r3465852  
    1515use Mailarchiver\System\L10n;
    1616use Mailarchiver\System\Role;
     17use Mailarchiver\System\UUID;
    1718
    1819/**
     
    8283        if ( ! ( $this->event_id = filter_input( INPUT_GET, 'eventid', FILTER_SANITIZE_FULL_SPECIAL_CHARS ) ) ) {
    8384            $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 ;
    8491        }
    8592    }
  • mailarchiver/trunk/includes/system/class-uuid.php

    r2658583 r3465852  
    5454
    5555    /**
     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    /**
    5678     * Generates a (pseudo) unique ID.
    5779     * This function does not generate cryptographically secure values, and should not be used for cryptographic purposes.
  • mailarchiver/trunk/init.php

    r3465101 r3465852  
    1313define( 'MAILARCHIVER_PRODUCT_ABBREVIATION', 'mailarchiver' );
    1414define( 'MAILARCHIVER_SLUG', 'mailarchiver' );
    15 define( 'MAILARCHIVER_VERSION', '4.5.0' );
     15define( 'MAILARCHIVER_VERSION', '4.5.1' );
    1616define( 'MAILARCHIVER_MONOLOG_VERSION', '2.9.3' );
    1717define( 'MAILARCHIVER_CODENAME', '"-"' );
  • mailarchiver/trunk/mailarchiver.php

    r3465101 r3465852  
    1111 * Plugin URI:        https://perfops.one/mailarchiver
    1212 * Description:       Automatically archive and store all emails sent from your site.
    13  * Version:           4.5.0
     13 * Version:           4.5.1
    1414 * Requires at least: 6.2
    1515 * Requires PHP:      8.1
  • mailarchiver/trunk/readme.txt

    r3465101 r3465852  
    55Requires PHP: 8.1
    66Tested up to: 6.9
    7 Stable tag: 4.5.0
     7Stable tag: 4.5.1
    88License: GPLv3
    99License URI: https://www.gnu.org/licenses/gpl-3.0.html
Note: See TracChangeset for help on using the changeset viewer.