Veröffentlichung von nginx 1.31.5 und njs 1.0.1

Die Hauptversion von nginx 1.31.5 wurde veröffentlicht, in der die Entwicklung neuer Funktionen fortgesetzt wird. In die parallel unterstützte stabile Version 1.30.x werden nur Änderungen zur Behebung schwerwiegender Fehler und Sicherheitsanfälligkeiten eingeführt. Zukünftig wird auf der Grundlage der Hauptversion 1.31.x eine stabile Version 1.32 gebildet. Der Projektcode ist in der Programmiersprache C geschrieben und wird unter der BSD-Lizenz vertrieben.

In der neuen Version:

  • Eine Rest-API für die externe Verwaltung wurde hinzugefügt, die es ermöglicht, die Konfiguration remote neu zu laden, Einstellungen zu erhalten und den Status der Arbeitsprozesse zu überwachen. Um die API-Unterstützung zu aktivieren, gibt es die Build-Option „—with-control-api“ und das Kommandozeilenargument „-l“. Es wird empfohlen, die API an einen Unix-Socket zu binden (nginx -l unix:/path/to/sock). Zur Interaktion mit der API kann das Curl-Tool verwendet werden.
  • Die Möglichkeit, eine Variable, die mit dem Zeichen „$“ beginnt, als Wert der Direktive Location zu verwenden, wurde hinzugefügt. Der zum Zeitpunkt der Ausführung berechnete Wert der Variable bestimmt die Bedingungen für den Eintritt in den Location-Block. Solche Locations können innerhalb anderer Location-Blöcke verwendet werden oder selbst geschachtelte Locations enthalten. map $arg_foo $pred { bar 1; qux 1; } location $pred { root html; }
  • Das Modul ngx_http_json_module wurde implementiert, das Möglichkeiten zur Verarbeitung von Daten im JSON-Format bietet, um bestimmte Felder aus JSON zu extrahieren und diese Felder in der nginx-Konfiguration als Variablen zu verwenden.
  • Die Direktive „client_body_early_read“ wurde hinzugefügt, deren Aktivierung dazu führt, dass der Rumpf der Anfrage sofort nach dem Empfang der Header gelesen wird.

Gleichzeitig steht die Version njs 1.0.1 zur Verfügung, ein Modul zur Integration des JavaScript-Interpreters in den http-Server nginx. Njs ermöglicht es, JavaScript-Skripte in Konfigurationsdateien zu verwenden, um die Funktionalität von nginx zu erweitern. Skripte können genutzt werden, um erweiterte Logik zur Verarbeitung von Anfragen zu definieren, Konfigurationen zu erstellen, Antworten dynamisch zu generieren, Anfragen/Antworten zu modifizieren oder schnell Stubs zur Lösung von Problemen in Webanwendungen zu erstellen. Der Projektcode ist in C geschrieben und wird unter der BSD-Lizenz vertrieben.

In der Version njs 1.0.1 wurden drei Sicherheitsanfälligkeiten behoben: ein Pufferüberlauf in der Funktion xml.exclusiveC14n (CVE-2026-78689), ein Umgehen der Zugriffsbeschränkung über js_access (CVE-2026-18329) und der Aufruf eines unerwarteten Prozessabbruchs durch Manipulation von ngx.fetch (CVE-2026-78222).

Quelle: opennet.ru

60GB SSD 8Gb DDR4