[PATCH 0 of 3] patches based on fixes by F5

Maxim Dounin mdounin at mdounin.ru
Tue Oct 27 05:41:53 UTC 2026


Hello!

The following patch series addresses issues relevant to freenginx among
those recently fixed by F5 as security issues in F5 NGINX.  In
particular:

- Fixed use of an uninitialized TLS session ticket key when automatic
  ticket key rotation is used, which makes it possible to forge SSL
  sessions and bypass SSL certificate authentication (CVE-2026-97629);

- Fixed a segmentation fault which might occur with many SSI includes
  when using AIO (CVE-2026-97205, though not considered to be a security
  issue in freenginx, see below);

- Fixed handling of unknown frames when reading a request body in the
  experimental HTTP/3 implementation (CVE-2026-95101, though not
  considered to be a security issue in freenginx, see below).


Detailed analysis of the issues fixed by F5:

    *) Security: a buffer overflow might occur in a worker process when
       using the "alias" directive if the request URI was changed by the
       "rewrite" directive and was then mapped to a file path
       (CVE-2026-15176).

Relevant commit:

Avoid post-rewrite URI to path mapping with alias
https://github.com/nginx/nginx/commit/f8a23425bd6840c4c36b4264edf576ba3646156f

In freenginx, the issue cannot happen due to mitigations introduced in
9493:aae28b083279 (freenginx 1.29.7).  Also, the security impact is
questionable, since the bug can be triggered only with a specially
crafted configuration.

    *) Security: a buffer overflow might occur in a worker process while
       evaluating string expressions with variables, which affected the
       document root calculation and request logging in the http and stream
       modules (CVE-2026-93479).
       Thanks to Matt Suiche of Tolmo Inc.

Relevant commit:

Script: reserved memory overrun protection in ngx_http_script_run()
https://github.com/nginx/nginx/commit/6aa4b3fdd4fdc156153f2981eb4070690624447c

In freenginx, the affected code is not present.  Further, since
9577:5bfb1aa8b443 (freenginx 1.31.4) the underlying problem with
incorrect length calculations is fixed.

    *) Security: when using HTTP/3 a part of an unknown frame might be
       treated as the request body, which might result in bypassing the
       "client_max_body_size" limit or injecting data in the proxied request
       (CVE-2026-95101).
       Thanks to Hansol Lee of GOTROOT.

Relevant commit:

HTTP/3: kept the skipped frame length separate from data length
https://github.com/nginx/nginx/commit/1c173a2d8767730e678c27446138d7ae5dd6fd64

The issue is valid and affects freenginx.  The patch looks good and
is included in this patch series.  However, since the issue is in the
experimental HTTP/3 code, it is not considered to be a security issue.

    *) Security: when using TLS session ticket key rotation, one of the keys
       was left uninitialized, which might allow to forge a session
       (CVE-2026-97629).
       Thanks to PhiNode Labs.

Relevant commit:

SSL: synced all session ticket keys to the worker process
https://github.com/nginx/nginx/commit/1916f26e6ca49296568633d309777e36527e5bb2

The issue is valid and affects freenginx.  The patch included in this
patch series is identical to the one from F5 (which is trivial), though
it provides a more relevant commit message.

    *) Security: when using asynchronous file I/O (AIO), use-after-free
       might occur in certain configurations if the SSI page has "include
       virtual" commands (CVE-2026-97205).
       Thanks to cyberlancer.

Relevant commit:

Limited the number of pending operations per request
https://github.com/nginx/nginx/commit/6adfc05ece48f92446383ec1f145446848694698

The issue looks valid and affects freenginx.  However, triggering the
issue requires a configuration with AIO enabled and control over a
resource processed by SSI, which is not expected to be available to
external attackers and implies at least a DoS impact.  Further,
exploiting this issue for anything beyond DoS seems unlikely.  As such,
it is not considered to be a security issue.  An alternative patch to
address this issue is included in this patch series.


-- 
Maxim Dounin



More information about the nginx-devel mailing list