CVE-2026-45798
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 44 - wyżej niż 44% wszystkich znanych CVE
Streszczenie
Wazuh to darmowa platforma open source używana do zapobiegania, wykrywania i reagowania na zagrożenia. Od wersji 4.5.0 do 4.14.6 i 5.0.0-beta2, funkcja compare_wazuh_versions() w src/shared/version_op.c kopiuje kontrolowane przez atakującego pole V z rejestracji do 10-bajtowego bufora na stosie za pomocą strncpy(), ale nie kończy jawnie bufora. Funkcja jest osiągalna przed uwierzytelnieniem przez wazuh-authd na porcie TCP 1515, gdy włączone jest anonimowe uwierzytelnianie TLS. Ciąg wersji o długości co najmniej dziewięciu niezerowych bajtów może spowodować, że strchr() i strtok() będą czytać poza ver2 i mogą sprawić, że strtok() zapisze bajt zerowy do sąsiedniej pamięci stosu, umożliwiając zdalną odmowę usługi. Problem został naprawiony w wersjach 4.14.6 i 5.0.0-beta2.
Ocena ryzyka
Zdalny atakujący może spowodować awarię usługi (odmowę usługi) w środowisku Wazuh, co może zakłócić monitorowanie bezpieczeństwa i reagowanie na incydenty.
Rekomendacja
Zaktualizuj Wazuh do wersji 4.14.6 lub 5.0.0-beta2 (lub nowszej), aby uzyskać poprawkę.
Inne podatności w Wazuh
Zobacz wszystkie- CVE-2026-93347Średnie
Wazuh w wersjach od 4.1.1 przed 4.14.8 zawiera lukę path traversal w helperze get_list_file, która pozwala złośliwym workerom klastra odczytywać dowolne pliki poprzez niezwalidowane wartości nazw plików. Atakujący posiadający klucz klastra może wysyłać żądania DistributedAPI z nazwami plików zawierającymi traversal, aby odczytać client.keys, ossec.conf z kluczem klastra oraz inne pliki czytelne dla Wazuh.
- CVE-2026-93346Średnie
Wazuh w wersjach od 4.0.0 do 4.14.8 zawiera wyścig w ograniczaniu prób logowania, który pozwala nieuwierzytelnionym atakującym ominąć limit max_login_attempts poprzez wysyłanie równoczesnych żądań. Atakujący mogą wysyłać serie logowań do endpointów authenticate i run_as, które przechodzą kontrolę blokady przed zliczeniem nieudanych prób, umożliwiając nieograniczone zgadywanie haseł.
- CVE-2026-74047Średnie
Wazuh w wersjach od 4.0.0 do 4.14.8 zawiera podatność ujawniania informacji, która pozwala użytkownikom z niskimi uprawnieniami (agent:read) na odzyskanie hasła rejestracji authd.pass w postaci jawnego tekstu poprzez niezasłonięty endpoint konfiguracji agenta. Atakujący posiadający domyślną rolę readonly mogą zażądać konfiguracji komponentu auth dla pseudo-agenta ID 000, aby uzyskać sekret i zarejestrować fałszywych agentów przeciwko menedżerowi.
- CVE-2026-74045Wysokie
Wazuh w wersjach od 3.12.0 do 4.14.8 zawiera przepełnienie bufora na stercie w funkcji fim_generate_alert(), gdzie rozmiar full_log jest ustalany na podstawie danych wejściowych, ale zapis ograniczony jest przez OS_MAXSTR. Zarejestrowany agent może wysłać spreparowane zdarzenie FIM syscheck, aby uszkodzić pamięć sterty menedżera i w sposób deterministyczny zawiesić wazuh-analysisd, powodując awarię wykrywania w całej flocie.
- CVE-2026-74037Wysokie
Wazuh w wersjach od 4.0.0 do 4.14.8 nie unieważnia wydanych tokenów dla użytkowników run_as z zerową liczbą ról statycznych, ponieważ funkcja check_token nigdy nie sprawdza czarnej listy. Atakujący z odebranymi uprawnieniami administratora mogą nadal się uwierzytelniać i samodzielnie przypisać sobie rolę administratora, aby trwale zachować uprzywilejowany dostęp.
- CVE-2026-74036Wysokie
Wazuh w wersjach od 4.3.0 do 4.14.8 zawiera podatność umożliwiającą zdalne wykonanie kodu, gdzie zaufanie do polityki SCA jest ustalane na podstawie ścieżki pliku, a nie źródła konfiguracji. Atakujący kontrolujący menedżera może zapisać niepodpisane pliki polityk do var/incoming poprzez kanał aktualizacji i odwołać się do nich, aby wykonać sprawdzenia poleceń jako root na agentach.
- CVE-2026-74035Wysokie
Wazuh w wersjach od 4.6.0 do 4.14.8 zawiera podatność omijania uwierzytelniania, gdzie funkcja security.update_user umieszcza zabezpieczenie zarezerwowanego użytkownika i politykę haseł wewnątrz fałszywego sprawdzenia prawdziwości. Delegowany administrator użytkowników może wysłać puste hasło do punktu końcowego aktualizacji użytkownika, omijając zabezpieczenie zarezerwowanego użytkownika, aby przejąć konto superużytkownika wazuh i uwierzytelnić się pustymi poświadczeniami.
- CVE-2026-74034Wysokie
Wazuh w wersjach od 4.1.0 do 4.14.8 zawiera brak sprawdzania pochodzenia w wm_agent_upgrade, co pozwala zarejestrowanym agentom na wydawanie poleceń upgrade_custom z kontrolowaną przez atakującego ścieżką file_path. Atakujący mogą wstrzyknąć wiadomość upgrade_custom przez kanał agenta, aby odczytać dowolne pliki jako root, eksfiltrując /etc/shadow i client.keys.
- CVE-2026-74033Średnie
Wazuh w wersjach od 4.1.1 do 4.14.8 zawiera podatność typu path traversal w handlerach list CDB get_lists() i delete_list_file(), która pozwala skompromitowanym pracownikom klastra na odczyt lub usunięcie plików mastera. Atakujący mogą wysyłać nazwy plików z sekwencjami traversal lub ścieżkami bezwzględnymi przez wewnętrzne RPC klastra, omijając walidację REST i RBAC, aby usunąć pliki takie jak rbac.db.
- CVE-2026-74032Średnie
Wazuh w wersjach od 4.0.0 do 4.14.8 zawiera podatność obejścia autoryzacji, która pozwala niskouprzywilejowanym uwierzytelnionym użytkownikom na odczyt katalogu RBAC poprzez zapytania do niechronionych endpointów bezpieczeństwa. Atakujący mogą wysłać żądania GET /security/actions i /security/resources, które pomijają polityki RBAC wywołującego, aby zmapować uprzywilejowane akcje i endpointy w celu planowania eskalacji uprawnień.
Oryginalny opis (angielski, źródło NVD)
Wazuh is a free and open source platform used for threat prevention, detection, and response. From 4.5.0 until 4.14.6 and 5.0.0-beta2, compare_wazuh_versions() in src/shared/version_op.c copies the attacker-controlled enrollment V: field into a 10-byte stack buffer with strncpy() but does not explicitly terminate the buffer. The function is reachable before authentication through wazuh-authd on TCP port 1515 when anonymous TLS enrollment is enabled. A version string of at least nine non-null bytes can cause strchr() and strtok() to read beyond ver2 and can make strtok() write a null byte into adjacent stack memory, allowing a remote denial of service. This issue is fixed in versions 4.14.6 and 5.0.0-beta2.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

