Get the most out of your Centmin Mod LEMP stack
Become a Member

Stable Branch fix ngx_devel_kit set-misc worker segfault on nginx 1.31.3 in 132.00s…

Discussion in 'Centmin Mod Github Commits' started by eva2000, Aug 16, 2026 at 8:44 AM.

  1. eva2000

    eva2000 Administrator Staff Member

    59,515
    12,539
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +19,180
    Local Time:
    6:08 PM
    Nginx 1.31.x
    MariaDB 10.x/11.4+/12.3+
    fix ngx_devel_kit set-misc worker segfault on nginx 1.31.3 in 132.00stable


    Nginx 1.31.3 and 1.30.4 CVE-2026-42533 security fixes split
    ngx_http_script_complex_value_code() and moved the script engine value
    stack push into a new ngx_http_script_complex_value_end_code() opcode
    (nginx commit a8289aa69c74). ngx_devel_kit's ndk_http_rewrite_value()
    is a fork of nginx's ngx_http_rewrite_value() that never emits the new
    opcode, so any NDK based set_* directive with a variable argument -
    including set-misc set_escape_uri/set_unescape_uri used by the Centmin
    Mod Nginx Redis full page cache php-rediscache.conf - reads an
    unwritten value stack slot and segfaults nginx workers on the first
    request (worker process exited on signal 11, dmesg segfault in
    ngx_http_set_misc_module.so). No released ngx_devel_kit version
    (latest v0.3.4) contains the fix, so vendor the upstream fix as a
    build-time patch.

    Changes:
    - add patches/ngx-devel-kit/ndk-nginx-complex-value-end.patch that
    emits the terminating
    ngx_http_script_complex_value_end_code opcode in
    ndk_http_rewrite_value() guarded by an nginx version check that
    excludes freenginx
    - add ngx_develkit_patch() to inc/nginx_patch.inc wired into
    patchnginx() after ngx_srcache_patch - always re-extracts pristine
    ngx_devel_kit sources then applies the patch only when a feature
    probe finds ngx_http_script_complex_value_end_code in the nginx
    source tree being built and not already in ndk_rewrite.c, so it
    self-enables on nginx 1.31.3+/1.30.4+, self-disables on older
    nginx/freenginx and skips future fixed ngx_devel_kit releases

    Continue reading...

    132.00stable branch