CVE-2026-18414
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 2 - wyżej niż 2% wszystkich znanych CVE
Streszczenie
Sterownik ADI MAX32 w Zephyr nie sprawdzał poprawnie rozmiaru bufora docelowego w adc_max32.c — porównywał liczbę bajtów z liczbą próbek, ignorując rozmiar uint16_t. W wyniku tego bufor o połowę za mały był akceptowany, a sterownik zapisywał dwa razy więcej danych niż przewidziano, powodując zapis poza buforem. W buildach z CONFIG_USERSPACE nieuprzywilejowany wątek w trybie użytkownika może wykorzystać tę lukę do korupcji pamięci jądra.
Ocena ryzyka
Podatność pozwala nieuprzywilejowanemu wątkowi w trybie użytkownika na zapis poza przydzielonym buforem w pamięci jądra, co może prowadzić do eskalacji uprawnień lub odmowy usługi (DoS). W buildach bez CONFIG_USERSPACE jest to jedynie defekt odporności po stronie wywołującego.
Rekomendacja
Zaktualizuj Zephyr do wersji zawierającej poprawkę, która zastępuje błędne sprawdzenie w start_read() wywołaniem wspólnego pomocnika adc_sequence_validate_buffer() z rozmiarem próbki sizeof(uint16_t). Do czasu aktualizacji unikaj przyznawania wątkom w trybie użytkownika dostępu do urządzeń ADC MAX32.
Powiązane podatności
- CVE-2026-115995Krytyczne
Wykryto podatność w Unitree Robotics Unitree Go2 do wersji 1.1.11.4. Funkcja set_volume w pliku gpt_thread.py komponentu chat_go nieprawidłowo przetwarza argument Value, co prowadzi do wstrzyknięcia poleceń systemowych (OS command injection). Atak można przeprowadzić zdalnie, a aktualizacja do wersji 1.1.11.5 rozwiązuje problem.
- CVE-2026-114820Krytyczne
Podatność w komponencie JSSE produktów Oracle Java SE, Oracle GraalVM for JDK oraz Oracle GraalVM Enterprise Edition. Może być łatwo wykorzystana przez nieuwierzytelnionego atakującego z dostępem sieciowym, prowadząc do nieautoryzowanego dostępu, tworzenia, modyfikacji lub usuwania krytycznych danych. Podatność dotyczy również środowisk Java uruchamiających niezaufany kod w piaskownicy (np. aplety lub aplikacje Java Web Start).
- CVE-2026-115933Krytyczne
Postiz podpisuje tokeny sesji, zaproszeń i resetowania hasła jednym wspólnym sekretem, bez oznaczenia przeznaczenia tokenu. Trasa odświeżająca dane kanału rozszerzenia przeglądarki podpisywała dane pochodzące z samego żądania i zapisywała wynik w miejscu czytelnym dla użytkownika, co pozwalało uzyskać poprawnie podpisany token z dowolnymi roszczeniami akceptowany jako sesja, zaproszenie z wybraną rolą, reset hasła lub token provisioningu enterprise.
- CVE-2026-115557Krytyczne
Moduł "ssl" w Pythonie otrzymał listę blokowanych znanych skompromitowanych certyfikatów, aby zapewnić bezpieczeństwo użytkowników nawet bez skonfigurowanego odwoływania certyfikatów. Znane skompromitowane certyfikaty są automatycznie odrzucane niezależnie od konfiguracji polityki SSLContext.
- CVE-2026-115932Krytyczne
W Postiz ścieżka mediów, która nie jest adresem web, jest traktowana jako plik na dysku serwera bez sprawdzenia, czy znajduje się w katalogu uploadu. Zarejestrowany użytkownik może zapisać spreparowaną ścieżkę przy poście i doprowadzić do odczytu dowolnego pliku oraz wysłania go jako załącznika na kontrolowany przez siebie serwer Discord. Te same nieograniczone odczyty są dostępne przez dwie dodatkowe ścieżki, w tym sprawdzanie istnienia pliku i wyczerpanie pamięci backendu; samodzielna rejestracja jest domyślnie otwarta.
- CVE-2026-94075Krytyczne
Wtyczka WordPress Newsletters (newsletters-lite) do wersji 4.18.1 zawiera podatność deserializacji niezaufanych danych, umożliwiającą wstrzyknięcie obiektów. Może to prowadzić do wykonania niepożądanego kodu przez atakującego.
- CVE-2026-114196Krytyczne
Wtyczka WordPress Paytium do wersji 5.0.5 jest podatna na deserializację niezaufanych danych, co umożliwia wstrzyknięcie obiektów. Może to pozwolić atakującemu na wykonanie nieautoryzowanych działań.
- CVE-2026-112866Krytyczne
Wtyczka WordPress Product Filter by WBW (woo-product-filter) do wersji 3.4.6 jest podatna na ślepą iniekcję SQL z powodu niewłaściwej neutralizacji specjalnych elementów w poleceniach SQL. Atakujący może wykorzystać tę lukę do manipulacji zapytaniami do bazy danych.
- CVE-2026-111402Krytyczne
Wtyczka WordPress Newsletters (newsletters-lite) do wersji 4.18.1 jest podatna na iniekcję SQL z powodu niewłaściwej neutralizacji specjalnych elementów w poleceniach SQL. Może to umożliwić atakującemu wykonanie dowolnych zapytań SQL.
- CVE-2026-110956Krytyczne
Wtyczka WordPress asVereinbase przed wersją 1.1.8 nie wymaga prawidłowego hasła ani prawdziwego drugiego czynnika przed uwierzytelnieniem użytkownika, traktując pustą zapisaną wartość jako dopasowanie. Umożliwia to nieuwierzytelnionemu atakującemu zalogowanie się jako dowolny użytkownik, w tym administrator.
Oryginalny opis (angielski, źródło NVD)
The ADC API requires each driver to reject a sampling sequence whose destination buffer is too small: the buffer_size field of struct adc_sequence in include/zephyr/drivers/adc.h documents that "the driver must ensure that samples are not written beyond the limit and it must return an error if the buffer turns out to be not large enough". The ADI MAX32 driver did not honour that contract. start_read() in drivers/adc/adc_max32.c compared buffer_size, a byte count, against a sample count ((1 + extra_samplings) channels), ignoring sizeof(uint16_t), so it accepted a buffer half the required size. The samples are then stored through the uint16_t data->buffer by Wrap_MXC_ADC_GetData(), which writes two bytes per sample and advances the pointer by one uint16_t: in adc_max32_start_channel() for synchronous reads, and in adc_max32_isr() for asynchronous ones. A sequence selecting two channels with a two-byte buffer, for example, passes the check and has its second sample written past the end of the buffer. On a build with CONFIG_USERSPACE, adc_read() and adc_read_async() are system calls. The handler in drivers/adc/adc_handlers.c copies the sequence in from user memory, verifies only that [buffer, buffer + buffer_size) is writable by the calling thread, and rejects a user-supplied options->callback; it deliberately leaves the size arithmetic to the driver. A user-mode thread that has been granted access to a MAX32 ADC device object therefore fully controls channels, buffer, buffer_size and options->extra_samplings, and can make the driver write twice as many bytes as its buffer holds. Because the check scales with extra_samplings, the overrun equals the length of the buffer itself, up to channels * 65536 bytes past its end, since the sample pointer is only rewound on a repeat sampling, never on the extra samplings of a sequence. The resulting stores are performed by the driver in kernel mode (in the system call itself, the ADC context timer, or the ADC interrupt handler for asynchronous reads), where the MPU does not restrict the thread's memory domain, so the write walks linearly out of the user partition and into adjacent memory such as other partitions, kernel data or thread stacks. The impact is kernel-memory corruption of attacker-chosen length at an attacker-chosen offset, a plausible privilege-escalation and denial-of-service primitive from an unprivileged user-mode thread. Builds without CONFIG_USERSPACE are affected only as a caller-side robustness defect, since the application itself supplies the buffer. The fix replaces that check in start_read() with a call to the new shared helper adc_sequence_validate_buffer() in drivers/adc/adc_common.c, passing sizeof(uint16_t) as the sample size. The helper computes active_channels sizeof(uint16_t) (1 + extra_samplings) and returns -ENOMEM before any sampling is started.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

