CVE-2026-84724
ŚrednieCVSS 6.6Streszczenie
W podsystemie system-job Ansible Automation Platform automation-controller występuje wada wstrzykiwania argumentów. Endpoint uruchamiania szablonu system-job przechowuje zmienną "days" bez walidacji liczbowej, a dyspozytor spłaszcza listę argumentów polecenia zarządzającego w jeden ciąg ze spacjami, przez co spacje stają się dodatkowymi argumentami. Uwierzytelniony użytkownik z uprawnieniami superużytkownika może wstrzyknąć dowolne argumenty, w tym opcję ścieżki Pythona, do procesu awx-manage.
Ocena ryzyka
Wstrzyknięcie argumentów z kontrolą ścieżki wyszukiwania procesu może prowadzić do zdalnego wykonania kodu, jeśli dostępny będzie dodatkowy gadget importu. Wymaga uprawnień superużytkownika.
Rekomendacja
Zaktualizuj Ansible Automation Platform do wersji zawierającej poprawkę. Ogranicz uprawnienia superużytkownika i zweryfikuj walidację zmiennej "days".
Inne podatności w Ansible Automation Platform automation-controller
Zobacz wszystkie- CVE-2026-85475Wysokie
W Ansible Automation Platform automation controller konfiguracja logowania zewnętrznego (rsyslog) jest generowana przez interpolację ustawień kontrolowanych przez użytkownika do pliku konfiguracyjnego RainerScript bez neutralizacji składni. Uprzywilejowany użytkownik może wstrzyknąć dyrektywy rsyslog, w tym akcję omprog, powodując wykonanie dowolnych poleceń w komponencie rsyslog płaszczyzny kontrolnej.
- CVE-2026-84721Średnie
W backendzie powiadomień e-mail Ansible Automation Platform automation-controller występuje wada server-side request forgery. Backend przekazuje dostarczony przez użytkownika host i port SMTP z szablonu powiadomienia bezpośrednio do klienta SMTP bez walidacji, że cel nie jest adresem wewnętrznym, loopback, link-local lub zarezerwowanym. Uwierzytelniony użytkownik z uprawnieniem organization notification-admin może utworzyć szablon wskazujący dowolny adres wewnętrzny i wywołać test, otwierając surowe połączenie TCP.
- CVE-2026-84720Średnie
W Ansible Automation Platform automation-controller kolumna bazy danych WorkflowJobNode.ancestor_artifacts, przechowująca surowe połączone artefakty set_stats propagowane między węzłami workflow, nie jest objęta prevent_search() i jest akceptowana do dowolnych wyszukiwań pól przez backend filtrów REST, mimo że jest pominięta w serializatorze API. Ponieważ kolumna jest zapisywana przed zastosowaniem maskowania no_log przez Ansible, użytkownik z prawem odczytu workflow może użyć liczby wyników jako wyroczni do odzyskania znak po znaku wartości oznaczonych jako no_log.
- CVE-2026-84718Średnie
W Ansible Automation Platform automation-controller w dostarczonej konfiguracji produkcyjnej kontroler ufa nagłówkowi X-Forwarded-For dostarczonemu przez klienta jako adresowi IP klienta, bez weryfikacji, że pochodzi z zaufanego proxy, i wybiera skrajną lewą (kontrolowaną przez atakującego) wartość nagłówka. Atakujący może sfałszować źródłowy adres IP zapisywany w logach audytu i dostępu kontrolera.
- CVE-2026-84717Średnie
W Ansible Automation Platform automation-controller nieuwierzytelniony odbiornik webhooków Bitbucket Data Center pomija weryfikację podpisu HMAC dla zdarzeń diagnostics:ping po wyszukaniu docelowego szablonu, zwracając HTTP 200 dla szablonu z skonfigurowanym webhookiem Bitbucket DC i HTTP 403 w przeciwnym razie. Nieuwierzytelniony zdalny atakujący może użyć tej różnicy odpowiedzi jako wyroczni do wyliczenia identyfikatorów szablonów zadań i szablonów zadań workflow z skonfigurowanymi webhookami Bitbucket DC, bez znajomości sekretu webhook_key.
- CVE-2026-84714Wysokie
W automation-controller funkcja sanitize_jinja() używa wyrażeń regularnych, które zatrzymują się na pierwszym wewnętrznym znaku '}' lub '%', więc wyrażenie Jinja zawierające wewnętrzny nawias (np. pusty słownik) jest akceptowane, pozostając prawidłowym Jinja. Ponieważ sanitize_jinja() jest jedynym zabezpieczeniem kilku pól w czasie uruchamiania, użytkownik o niskich uprawnieniach może wstrzyknąć Jinja, którą ansible-core wykonuje w środowisku wykonawczym.
- CVE-2026-84706Wysokie
W Ansible Automation Platform automation-controller wstrzykiwacz zmiennych środowiskowych niestandardowego typu poświadczeń sprawdza nazwy zmiennych względem listy blokad, która pomija zmienne przechwytujące proces, takie jak BASH_ENV, ENV, LD_PRELOAD, LD_LIBRARY_PATH, PYTHONSTARTUP i GIT_SSH_COMMAND. W połączeniu z wstrzykiwaczem plików poświadczeń uprzywilejowany użytkownik może zapisać kontrolowany przez atakującego skrypt w środowisku wykonawczym i wskazać na niego BASH_ENV.
- CVE-2026-84691Wysokie
W Red Hat Ansible Automation Platform automation-controller ustawienie formatujące komunikat logu dla błędów API 4XX jest szablonem formatu Pythona kontrolowanym przez administratora, renderowanym z obiektem użytkownika jako argumentem. Administrator może utworzyć szablon, który przechodzi od obiektu użytkownika do ustawień aplikacji i odczytuje klucz tajny Django oraz hasło do bazy danych, a sformatowana wiadomość jest zapisywana do loggera, który można przekazać do zewnętrznego agregatora logów.
- CVE-2026-84683Wysokie
W Red Hat Ansible Automation Platform automation-controller widok HTML standardowego wyjścia zadań, poleceń ad hoc, aktualizacji projektu i aktualizacji inwentarza escapuje metaznaki HTML, ale nie usuwa sekwencji ucieczki ANSI przed konwersją do HTML. Sekwencja hiperłącza ANSI OSC 8 w wyjściu jest rozwijana do kotwicy HTML, której href nie jest filtrowany pod kątem schematu ani escapowany, więc użytkownik o niskich uprawnieniach może osadzić link javascript: renderowany w odpowiedzi text/html bez Content-Security-Policy.
Oryginalny opis (angielski, źródło NVD)
An argument-injection flaw was found in the Ansible Automation Platform automation-controller system-job subsystem. The system-job template launch endpoint stores a user-supplied "days" variable without running the integer validation defined elsewhere for that field, and the dispatcher flattens the management-command argument list into a single string with spaces before the job runner re-splits it, so spaces in the value become additional command-line arguments. Because system jobs are executed in-process on the control node without the container isolation applied to all other job types, an authenticated user with superuser privileges can inject arbitrary arguments — including Python's path option — into the control-plane awx-manage process, controlling its argument vector and the first entry of its module search path. Full remote code execution requires an additional import gadget that is not present in the current management commands, so the demonstrated impact is argument injection with control of the process search path rather than confirmed code execution.

