CVE-2026-31656
WysokieCVSS 7.8Streszczenie
W jądrze Linuxa zidentyfikowano podatność związana z użyciem po zwolnieniu oraz podwójnym zmniejszeniem licznika odniesień w funkcji intel_engine_park_heartbeat. Problem występuje, gdy wątek serca i funkcja intel_engine_park_heartbeat konkurują o zwolnienie tego samego żądania, co prowadzi do błędnego odczytu wskaźnika i ponownego wywołania i915_request_put().
Ocena ryzyka
Podatność ta może prowadzić do nieprzewidywalnych zachowań systemu, w tym do awarii jądra, co może wpłynąć na stabilność i bezpieczeństwo całej infrastruktury IT organizacji.
Rekomendacja
Zaleca się aktualizację jądra Linux do wersji, w której wprowadzono poprawkę, aby zlikwidować problem z wyścigiem i zapewnić atomowe operacje na wskaźnikach.
Powiązane podatności
- CVE-2026-87719Krytyczne
GitLab EE w wersjach od 18.3 przed 19.1.8, 19.2 przed 19.2.6 oraz 19.3 przed 19.3.2 zawiera podatność, która w pewnych warunkach pozwala uwierzytelnionemu użytkownikowi z dostępem do Duo Chat uzyskać konfiguracje instancji Advanced Search oraz poufne poświadczenia. Wykorzystanie polega na specjalnie spreparowanym argumencie subskrypcji GraphQL omijającym serializację i wykonującym wyszukiwanie obiektów serwera.
- CVE-2026-85706KrytyczneAktywnie exploitowane
GitLab CE/EE w wersjach od 18.7 przed 19.1.8, 19.2 przed 19.2.6 oraz 19.3 przed 19.3.2 zawiera podatność w API commitów repozytorium, wynikającą z niewłaściwego ograniczenia ścieżek i braku wymuszenia uwierzytelniania. W pewnych warunkach nieuwierzytelniony użytkownik mógł odczytać dowolne pliki z serwera GitLab.
- CVE-2026-90456Krytyczne
Przykładowy plik konfiguracyjny dołączonego komponentu do zarządzania zapasami zawiera stałe, publicznie znane hasło administracyjne. Wdrożenie, które skopiuje ten przykładowy plik do aktywnej konfiguracji bez uruchomienia procedury inicjalizacyjnej regenerującej poświadczenia, ujawni interfejs administracyjny komponentu każdemu znającemu domyślną wartość.
- CVE-2026-53952Krytyczne
GetSimple CMS (wersje 3.4.0a i starsze) oraz GetSimple CMS CE (wersje 3.3.22 i starsze) zawierają błąd logiczny pozwalający nieuwierzytelnionemu atakującemu utworzyć nowe konto administratora. Mechanizm automatycznego usuwania pliku admin/setup.php po instalacji jest neutralizowany przez błąd samowykluczenia, przez co skrypt instalacyjny pozostaje dostępny. W momencie publikacji nie są znane żadne wersje z poprawką.
- CVE-2026-79395Krytyczne
Weryfikacja WS-Security (wsse:UsernameToken) w demonie Sofia IPC w kamerach IP Xiongmai z firmware XM530 HMT.CM2005-v220608.1837 i starszym ma błąd uwierzytelniania. Zdalny atakujący może ominąć uwierzytelnianie i wykonać uprzywilejowane akcje ONVIF (m.in. sterowanie PTZ, pobranie URL strumienia, restart systemu) wysyłając spreparowane żądanie SOAP z nazwą admin i dowolnym hasłem, gdy zapisane hasło konta jest puste.
- CVE-2026-62105Krytyczne
Wtyczka ThemeREX Addons w wersjach starszych niż 2.45.0 jest podatna na nieuwierzytelnione wstrzyknięcie obiektu PHP (PHP Object Injection).
- CVE-2026-62103Krytyczne
Wtyczka Everest Forms w wersjach 3.6.0 i starszych jest podatna na nieuwierzytelnione wstrzyknięcie obiektu PHP (PHP Object Injection).
- CVE-2026-54072Krytyczne
W Authorizerze przed wersją 2.2.1 endpoint /authorize akceptuje dowolny redirect_uri bez walidacji względem AllowedOrigins. Przy response_type=token lub response_type=id_token serwer dołącza access_token, id_token i refresh_token jako parametry zapytania i wykonuje przekierowanie 302 na adres atakującego. Nieuwierzytelniony atakujący może uzyskać client_id z publicznego endpointu /graphql.
- CVE-2026-82617Krytyczne
Wbudowane wzorce wyszukiwania nazw EMAIL i URL w Apache OpenNLP zawierają niejednoznaczne zagnieżdżone kwantyfikatory, co umożliwia atak ReDoS. Przygotowany tekst wejściowy może wywołać superliniowe cofanie (backtracking) lub rekurencję matchera, prowadząc do wyczerpania CPU lub błędu StackOverflowError. Podatność dotyczy wersji od 2.0.0 do 2.5.11 oraz od 3.0.0-M1 do 3.0.0-M5.
- CVE-2026-72710Krytyczne
SPIP w wersji przed 4.4.18 zawiera podatność zdalnego wykonania kodu w akcji editer_objet, gdzie parametr arg rozwiązuje nazwy tabel SQL bez egzekwowania listy dozwolonych edytowalnych kolumn. Atakujący z ważnym nonce może wstrzyknąć kontrolowane wiersze do tabeli spip_jobs, a następnie dostarczyć arg=job/0 ze spreparowanymi wartościami fonction i args, które są deserializowane i wykonywane podczas opróżniania kolejki zadań cron.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: drm/i915/gt: fix refcount underflow in intel_engine_park_heartbeat A use-after-free / refcount underflow is possible when the heartbeat worker and intel_engine_park_heartbeat() race to release the same engine->heartbeat.systole request. The heartbeat worker reads engine->heartbeat.systole and calls i915_request_put() on it when the request is complete, but clears the pointer in a separate, non-atomic step. Concurrently, a request retirement on another CPU can drop the engine wakeref to zero, triggering __engine_park() -> intel_engine_park_heartbeat(). If the heartbeat timer is pending at that point, cancel_delayed_work() returns true and intel_engine_park_heartbeat() reads the stale non-NULL systole pointer and calls i915_request_put() on it again, causing a refcount underflow: ``` <4> [487.221889] Workqueue: i915-unordered engine_retire [i915] <4> [487.222640] RIP: 0010:refcount_warn_saturate+0x68/0xb0 ... <4> [487.222707] Call Trace: <4> [487.222711] <TASK> <4> [487.222716] intel_engine_park_heartbeat.part.0+0x6f/0x80 [i915] <4> [487.223115] intel_engine_park_heartbeat+0x25/0x40 [i915] <4> [487.223566] __engine_park+0xb9/0x650 [i915] <4> [487.223973] ____intel_wakeref_put_last+0x2e/0xb0 [i915] <4> [487.224408] __intel_wakeref_put_last+0x72/0x90 [i915] <4> [487.224797] intel_context_exit_engine+0x7c/0x80 [i915] <4> [487.225238] intel_context_exit+0xf1/0x1b0 [i915] <4> [487.225695] i915_request_retire.part.0+0x1b9/0x530 [i915] <4> [487.226178] i915_request_retire+0x1c/0x40 [i915] <4> [487.226625] engine_retire+0x122/0x180 [i915] <4> [487.227037] process_one_work+0x239/0x760 <4> [487.227060] worker_thread+0x200/0x3f0 <4> [487.227068] ? __pfx_worker_thread+0x10/0x10 <4> [487.227075] kthread+0x10d/0x150 <4> [487.227083] ? __pfx_kthread+0x10/0x10 <4> [487.227092] ret_from_fork+0x3d4/0x480 <4> [487.227099] ? __pfx_kthread+0x10/0x10 <4> [487.227107] ret_from_fork_asm+0x1a/0x30 <4> [487.227141] </TASK> ``` Fix this by replacing the non-atomic pointer read + separate clear with xchg() in both racing paths. xchg() is a single indivisible hardware instruction that atomically reads the old pointer and writes NULL. This guarantees only one of the two concurrent callers obtains the non-NULL pointer and performs the put, the other gets NULL and skips it. (cherry picked from commit 13238dc0ee4f9ab8dafa2cca7295736191ae2f42)

