CVE-2026-78689
WysokieCVSS 8.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 34 - wyżej niż 34% wszystkich znanych CVE
Streszczenie
Podatność w module XML silnika NGINX JavaScript (njs) dotyczy parsera listy prefiksów przestrzeni nazw, osiągalnego przez metodę xml.exclusiveC14n(). Nieuwierzytelniony zdalny atakujący może wywołać zapis poza granicami alokacji sterty, gdy konfiguracja NGINX przekazuje zewnętrznie kontrolowaną listę prefiksów do tej metody. Dotyczy to zarówno silnika njs, jak i QuickJS (qjs).
Ocena ryzyka
Atakujący może zdalnie doprowadzić do odmowy usługi (DoS) poprzez wielokrotne restarty procesów roboczych NGINX lub wzrost zużycia pamięci, a w niektórych warunkach nie można wykluczyć wykonania kodu. Podatność dotyczy płaszczyzny danych, bez ekspozycji płaszczyzny kontrolnej.
Rekomendacja
Należy zaktualizować NGINX i moduł njs do najnowszej wersji zawierającej poprawkę oraz zweryfikować, czy konfiguracja nie przekazuje niezaufanych danych XML do metody xml.exclusiveC14n(). W przypadku korzystania z referencyjnej implementacji nginxinc/nginx-saml należy pilnie wdrożyć dostępne poprawki.
Inne podatności w NGINX JavaScript (njs)
Zobacz wszystkie- CVE-2026-101025Średnie
NGINX JavaScript (njs) ma podatność, w której wbudowany silnik njs wycieka kontekst parsera libxml2, gdy xml.parse() zawiedzie. Ścieżka błędu nie rejestrowała czyszczenia i kontekst nie był zwalniany przez cały czas życia procesu. Nieuwierzytelniony atakujący może wysyłać żądania z nieprawidłowym XML i powodować nieograniczony wzrost pamięci w długotrwałych procesach roboczych NGINX.
- CVE-2026-101019Średnie
Moduł njs XML w NGINX JavaScript (njs) ujawnia atrybuty XML oparte na encjach w sposób niespójny z kanonizacją libxml2. W backendach njs i QuickJS getter $attr$Name może zwrócić undefined dla jawnie obecnego atrybutu zawierającego wewnętrzne odwołanie do encji, a getter $attrs może zwrócić wartość pochodzącą tylko z pierwszego atrybutu potomnego. Może to pozwolić nieuwierzytelnionemu atakującemu na pominięcie walidacji przy jednoczesnym pomyślnym zweryfikowaniu podpisu.
Oryginalny opis (angielski, źródło NVD)
Description NGINX JavaScript (njs) has a vulnerability in the XML module's namespace prefix list parser, reachable through the xml.exclusiveC14n() method. An unauthenticated remote attacker can trigger it when an affected NGINX configuration passes an externally controlled XML namespace prefix list to that method. Both the njs and the QuickJS (qjs) engines are affected. A crafted prefix list causes an out-of-bounds write past the end of a heap allocation. With the njs engine, which is the engine used when the js_engine directive is absent, this corrupts adjacent objects and crashes the NGINX worker. With the QuickJS engine, the same call additionally leaks the prefix list on every invocation, causing worker memory to grow across requests. The official nginxinc/nginx-saml reference implementation is affected during SAML signature verification. It reads InclusiveNamespaces/@PrefixList from an untrusted SAML message and passes it to xml.exclusiveC14n() before the signature has been verified, so a valid SAML signature is not required. A crafted SAML Response, Assertion, LogoutRequest, or LogoutResponse is sufficient. Code execution has not been demonstrated and cannot be ruled out for all platforms, as the effect of the out-of-bounds write depends on conditions beyond the attacker's control. Impact This vulnerability allows remote attackers to cause a denial of service on the NGINX system, either through repeatable worker restarts or through worker memory growth or possibly trigger code execution. There is no control plane exposure; this is a data plane issue only. Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

