Wydanie nginx 1.31.5 i njs 1.0.1

Opublikowano wydanie głównej gałęzi nginx 1.31.5, w którym kontynuowany jest rozwój nowych możliwości. W równolegle wspieranej stabilnej gałęzi 1.30.x wprowadzane są tylko zmiany związane z usuwaniem poważnych błędów i luk bezpieczeństwa. W przyszłości na podstawie głównej gałęzi 1.31.x zostanie utworzona stabilna gałąź 1.32. Kod projektu jest napisany w języku C i jest rozpowszechniany na licencji BSD.

W nowym wydaniu:

  • Dodano Rest API do zdalnego zarządzania, pozwalające na zdalne przeładowanie konfiguracji, uzyskanie danych o ustawieniach i przeglądanie statusu procesów roboczych. Aby włączyć obsługę API, przewidziano opcję kompilacji „—with-control-api” oraz argument wiersza poleceń „-l”. Zaleca się powiązanie API z gniazdem unixowym (nginx -l unix:/path/to/sock). Do wywołania API można używać narzędzia Curl.
  • Dodano możliwość użycia zmiennej rozpoczynającej się od symbolu „$” jako wartości dyrektywy Location. Wartość zmiennej, obliczona w momencie wykonania, określa warunki wejścia do bloku Location. Takie Location mogą być używane wewnątrz innych bloków Location lub same zawierać zagnieżdżone Location. map $arg_foo $pred { bar 1; qux 1; } location $pred { root html; }
  • Zrealizowano moduł ngx_http_json_module, który zapewnia możliwości analizy danych w formacie JSON, wydobywania poszczególnych pól z JSON i używania tych pól jako zmiennych w konfiguracji nginx.
  • Dodano dyrektywę „client_body_early_read”, której aktywacja prowadzi do odczytu ciała żądania zaraz po otrzymaniu nagłówków.

Jednocześnie wydano njs 1.0.1, moduł do integracji interpreterem języka JavaScript w serwerze http nginx. Njs pozwala używać skryptów JavaScript w plikach konfiguracyjnych w celu rozszerzenia możliwości nginx. Skrypty mogą być używane do definiowania rozszerzonej logiki przetwarzania żądań, formowania konfiguracji, dynamicznego generowania odpowiedzi, modyfikacji żądania/odpowiedzi lub szybkiego tworzenia atrap w celu rozwiązywania problemów w aplikacjach webowych. Kod projektu jest napisany w C i jest rozpowszechniany na licencji BSD.

W wydaniu njs 1.0.1 usunięto trzy luki bezpieczeństwa: przepełnienie bufora w funkcji xml.exclusiveC14n (CVE-2026-78689), obejście ograniczenia dostępu przez js_access (CVE-2026-18329) oraz wywołanie awaryjnego zakończenia procesu roboczego poprzez manipulacje z ngx.fetch (CVE-2026-78222).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster