WordPress.org

Make WordPress Core

Ticket #39309: 39309-preemptive-softfail.patch

File 39309-preemptive-softfail.patch, 1.3 KB (added by paragoninitiativeenterprises, 6 months ago)

Prevent PHP-FPM 7.2.0-7.2.2 without ext/sodium failures

  • wp-admin/includes/file.php

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    11461146                        ( ! function_exists( 'sodium_crypto_sign_verify_detached' ) ? 'sodium_crypto_sign_verify_detached' : 'sha384' )
    11471147                );
    11481148        }
     1149        if ( function_exists( 'php_sapi_name' )) {
     1150            // https://bugs.php.net/bug.php?id=75938
     1151                if (PHP_VERSION_ID >= 70200 && PHP_VERSION_ID <= 70202 && php_sapi_name() === 'fpm' && !extension_loaded('sodium')) {
     1152                        return new WP_Error(
     1153                                'signature_verification_preemptive_softfail',
     1154                                sprintf(
     1155                                /* translators: %s: The filename of the package. */
     1156                                        __( 'The authenticity of %s could not be verified because of a bug affecting PHP-FPM 7.2.0 - 7.2.2. Please ensure the sodium extension is installed and enabled.' ),
     1157                                        '<span class="code">' . esc_html( $filename_for_errors ) . '</span>'
     1158                                ),
     1159                                array (
     1160                                        'PHP_VERSION_ID' => PHP_VERSION_ID,
     1161                                        'php_sapi_name' => php_sapi_name(),
     1162                                        'sodium_installed' => extension_loaded('sodium'),
     1163                                )
     1164                        );
     1165                }
     1166        }
    11491167
    11501168        if ( ! $signatures ) {
    11511169                return new WP_Error(