CVE-2026-84721
ŚrednieCVSS 6.4Streszczenie
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.
Ocena ryzyka
Atakujący może skanować wewnętrzne porty sieci kontrolnej, w tym API Kubernetes w klastrze, oraz przekierować przechowywane hasło SMTP do serwera pod swoją kontrolą. Wymaga uprawnień notification-admin.
Rekomendacja
Zaktualizuj Ansible Automation Platform do wersji zawierającej poprawkę. Ogranicz uprawnienia notification-admin i zweryfikuj, czy hosty SMTP są walidowane pod kątem adresów wewnętrznych.
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-84724Średnie
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.
- 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)
A server-side request forgery flaw was found in the Ansible Automation Platform automation-controller email notification backend. The email backend passes the user-supplied SMTP host and port from a notification template directly to the SMTP client without validating that the target is not an internal, loopback, link-local, or reserved address. An authenticated user with organization notification-admin permission can create or modify an email notification template pointing at an arbitrary internal address, trigger a test, and have the controller task process open a raw TCP connection to that address. The resulting connection error is reflected back through the notification record, providing a three-state internal port-scan oracle (open, closed, filtered) over the control-plane's cluster network, including the in-cluster Kubernetes API. When a shared organization template holds a stored SMTP password, redirecting the host can also cause that credential to be transmitted to an attacker-controlled server.

