CVE-2026-89049 dotyczy AWS Systems Manager Agent i funkcji Session Manager port forwarding do zdalnego hosta. AWS opisuje problem jako SSRF z niewłaściwej walidacji równoważnych reprezentacji adresów. Użytkownik z uprawnieniem do remote-host port forwarding może ominąć denylistę celu i dotrzeć do endpointów link-local; w EC2 może to oznaczać uzyskanie tymczasowych credentials roli IAM przypisanej do instancji i użycie ich spoza instancji. Affected: wersje starsze niż 3.3.4851.0; fix w 3.3.4851.0.
AWS-StartPortForwardingSessionToRemoteHost przez ssm:StartSession i permissions dokumentu SSM.To nie „zwykły SSRF”
Kilka trust boundaries: początkowy attacker nie musi mieć praw roli EC2 — wystarczy odpowiednio szerokie uprawnienie Session Manager. Podatność staje się mechanizmem „pożyczenia” tożsamości instancji. CVSS nie odpowiada na najważniejsze pytania: kto ma ssm:StartSession, kto może użyć AWS-StartPortForwardingSessionToRemoteHost, na których managed nodes jest podatna wersja, jakie instance profiles są przypisane, jaki blast radius mają role, czy rola eskaluje dalej, czy jest telemetry. Host A (rola read-only do jednego bucketu, restrykcyjne permissions) i Host B (rola z szerokim dostępem do Secrets Manager/S3/KMS, developerzy swobodnie uruchamiają port forwarding) mają identyczny package finding i różne ryzyko.
„Equivalent address representations” i IMDSv2
Blokowanie kilku literalnych adresów/prefiksów to nie to samo co blokowanie semantycznego destination. Walidacja musi uwzględniać normalizację IP, alternatywne reprezentacje, IPv4/IPv6, IPv4-mapped IPv6, DNS resolution, redirect behavior, link-local/loopback/private ranges — nie zakładaj, że string URL jest równoważny końcowemu socket destination (podobnie jak w wielu incomplete-fix SSRF). Nie zakładaj też automatycznie, że IMDSv2 zamyka finding — ocena musi bazować na zachowaniu attack path i konfiguracji instancji; advisory mówi o osiągnięciu link-local i potencjalnym uzyskaniu credentials, więc compensating control ma być testowalną właściwością.
Remediation warstwowo i weryfikacja
Warstwa 1 (patch): SSM Agent ≥ 3.3.4851.0; znajdź AMI/golden images/bootstrapy odtwarzające starą wersję; uwzględnij on-prem managed nodes. Warstwa 2 (permissions): ogranicz ssm:StartSession i użycie dokumentu remote-host forwarding, oddziel shell sessions od remote-host forwarding, monitoruj nietypowe starty sesji. Warstwa 3 (role blast radius): oceń role przypisane do managed nodes — jedna sesja prowadząca do szerokich credentials to nadmierny privilege footprint. Closure to nie tylko SSM Agent >= 3.3.4851.0: potwierdź rollout na wszystkich nodes, brak starych golden images/launch templates, polityki Session Manager, brak zbędnych principals z remote-host forwarding, review IAM role permissions, telemetry historycznych sesji przy wysokim ryzyku. Przy dowodach wykorzystania sam upgrade nie wystarcza — ustal, jakie credentials mogły zostać uzyskane i jakie działania wykonano.
Powiązane na blogu
- Gemini: SSRF do metadata — SSRF, metadata i tożsamość chmurowa
- FrontMCP: SSRF przez równoważne adresy - filtr tekstu vs canonical destination
Źródła
- AWS Security Bulletin 2026-107-AWS — aws.amazon.com
- CVE-2026-89049 — cve.org
Nota redakcyjna: stan informacji 13 września 2026. CVE-2026-89049 (AWS SSM Agent <3.3.4851.0): SSRF port forwarding do link-local i IAM role credentials. Brak potwierdzenia active exploitation. Artykuł podkreśla enrichment o permissions i role blast radius oraz walidację normalizującą adres.