Die fünfte Lücke erlaubt es einem HTTP/3-Client, zusätzliche Bytes in eine Anfrage einzuschleusen, die NGINX an das Backend weiterreicht. Keine der fünf Schwachstellen war mit Stand 15. Oktober im Known-Exploited-Vulnerabilities-Katalog der CISA gelistet, und weder NGINX noch F5 berichten von Angriffen. NGINX stuft alle fünf als mittelschwer ein; F5 bewertet die drei Speicherfehler nach CVSS v4.0 mit 9.2 (kritisch), den TLS-Fehler mit 8.3 und den HTTP/3-Fehler mit 6.9.

Alle fünf Lücken setzen eine ausdrücklich gesetzte Direktive voraus: ein alias zusammen mit einem rewrite, eine Regex-map, AIO in Verbindung mit SSI, einen gemeinsamen TLS-Session-Cache oder HTTP/3. Den gemeinsamen Session-Cache und das Request-Buffering empfiehlt die NGINX-Dokumentation selbst; die zweite Bedingung für den HTTP/3-Fehler ist standardmäßig aktiv.

Der TLS-Fehler liegt in der automatischen Rotation der Session-Ticket-Schlüssel. Session-Tickets erlauben es einem Client, eine TLS-Sitzung ohne vollständigen Handshake wiederaufzunehmen; seit Version 1.23.2 vom Oktober 2022 erzeugt und rotiert NGINX diese Schlüssel bei einem gemeinsamen Session-Cache selbst, sofern die Schlüssel nicht aus einer Datei geladen werden. Jeder Worker-Prozess hält eine Kopie von drei Schlüsselplätzen vor. Die Rotation kopierte jedoch nur zwei davon, sodass der dritte Platz den vorherigen Speicherinhalt behielt. Ein Ticket, das auf diesen Platz verweist, ließ sich mit dem nicht initialisierten Schlüsselmaterial verifizieren und entschlüsseln – was laut dem Fix-Commit „eine gefälschte Sitzung erlaubt". F5 beschreibt die Fälschung als „auf nicht-deterministische Weise und außerhalb der Kontrolle des Angreifers" funktionierend und nennt als mögliche Folge die Umgehung der Client-Zertifikatsprüfung. Die betroffene Einstellung ssl_session_cache shared:SSL:10m ist genau jene, die die NGINX-Dokumentation in ihrer Beispielkonfiguration verwendet. Eine Lücke bei der Session-Wiederverwendung mit derselben Konsequenz, CVE-2025-23419, hatte NGINX im Februar 2025 behoben.

Die map-Lücke CVE-2026-93479 steckt in dem Code zur String-Verarbeitung, den NGINX am 15. Juli wegen CVE-2026-42533 gepatcht hatte – einem Heap-Overflow, den F5 mit 9.2 bewertete und der über die Captures einer Regex-map erreichbar ist. Der neue Overflow wurde dem Fix-Commit zufolge erst durch eine Änderung aus dem Juli-Release möglich: Ein Juli-Patch führte einen Schutz gegen das Überschreiben eines Puffers ein, Daten konnten aber weiterhin in einen reservierten Bereich überlaufen; ein zweiter Juli-Patch bemaß den fertigen String dann anhand dieser übergelaufenen Länge, sodass der String seinen Puffer überschreiten konnte. Der Commit begrenzt den Effekt: Auf dem Pfad über das Dokumenten-Root beträgt der Overflow höchstens die Größe des reservierten Bereichs, auf dem Access-Log-Pfad ein einzelnes Null-Byte. F5s Advisory und die Advisories-Seite von NGINX nennen 1.30.0 und 1.31.2 als früheste betroffene Versionen – beide liegen vor der Juli-Änderung. Ein im Juli gepatchter Server fällt damit in jedem Fall in den betroffenen Bereich. Schon F5s Juli-Workaround war in Zweifel gezogen worden: Der Forscher Stan Shaw erklärte im Juli, der Wechsel zu benannten Captures lasse einen schmaleren Pfad offen, und ein Upgrade sei „die einzige vollständige Lösung".

Die alias-Lücke öffnet sich in dem Moment, nachdem ein rewrite die URI einer Anfrage geändert hat und bevor NGINX die nächste location auswählt. Liest in diesem Zeitfenster etwas $request_filename aus und ist das Präfix der location länger als die umgeschriebene URI, überläuft beim Abbilden der URI auf einen Dateipfad ein Puffer.

Die AIO-Lücke betrifft einen Zähler: Jede ausstehende asynchrone Operation einer Anfrage erhöht ein 8-Bit-Feld ohne Prüfung, sodass 256 ausstehende Operationen den Zähler auf null überlaufen lassen – die Anfrage kann dann freigegeben werden, während die Operationen noch auf ihren Speicher zeigen. Als Auslöser nennt NGINX SSI-Seiten mit include-virtual-Befehlen, die ihre eingebundenen Anfragen parallel ausführen können.

Der HTTP/3-Fehler entstand, weil ein Feld des Parsers zwei Aufgaben erfüllte: Es hielt sowohl die Restlänge eines übersprungenen unbekannten Frames als auch die Zahl der als Request-Body weiterzureichenden DATA-Bytes. War ein unbekannter Frame über zwei Lesevorgänge verteilt, wurde der Restwert als Body behandelt und an das Backend geschickt – außerhalb der Prüfung durch client_max_body_size.

Als Gegenmaßnahme empfiehlt sich das Upgrade auf 1.30.6 im Stable-Zweig oder 1.31.7 im Mainline-Zweig; das Stable-Release enthält ausschließlich Fehlerbehebungen. NGINX veröffentlicht Fixes nur für diese beiden Zweige, ältere Zweige wie 1.28 bleiben also im betroffenen Bereich, und ein Distributionspaket ist nur dann abgesichert, wenn die Distribution die Patches zurückportiert hat. Kunden von NGINX Plus sowie Anwender von F5s Ingress Controller, Gateway Fabric, Instance Manager und den WAF-Produkten sollten die Advisories von F5 prüfen, die betroffene Builds auflisten – für mehrere Produkte war dort mit Stand 15. Oktober noch kein fehlerbereinigter Build genannt. Wer nicht sofort aktualisieren kann, findet bei F5 je einen Workaround pro Lücke. Welche Pfade ein Server aktiviert hat, zeigt die laufende Konfiguration über nginx -T; zu suchen ist nach alias neben einem rewrite, einer von root oder log_format genutzten Regex-map, aio zusammen mit ssi, listen-Zeilen mit quic sowie ssl_session_cache shared ohne ssl_session_ticket_key.

Der im Mai gepatchte Overflow im rewrite-Modul, CVE-2026-42945, wurde nach Feststellung von VulnCheck binnen weniger Tage nach der Offenlegung ausgenutzt. Es handelt sich um das achte Sicherheitsrelease von NGINX im Jahr 2026.

F5 nennt als Entdecker Matt Suiche von Tolmo und Mateusz Gierblinski für die map-Lücke, Hansol Lee von GOTROOT für den HTTP/3-Fehler, PhiNode Labs für die TLS-Lücke und einen als Cyberlanc3r geführten Forscher für die AIO-Lücke. Die alias-Lücke fand F5 selbst. Am selben Tag erschien zudem njs 1.0.2, das zwei mittelschwere Fehler bei der XML-Verarbeitung im JavaScript-Modul behebt: CVE-2026-101025 und CVE-2026-101019.