CVE-2026-55837
ŚrednieCVSS 6.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 12 - wyżej niż 12% wszystkich znanych CVE
Streszczenie
W dbt-mcp przed wersją 1.20.0, lokalny asystent OAuth w src/dbt_mcp/oauth/fastapi_app.py udostępnia punkt końcowy GET /dbt_platform_context bez uwierzytelnienia i walidacji hosta. Po zakończeniu przepływu OAuth dbt Platform, punkt końcowy zwraca pełny DbtPlatformContext, w tym access_token i refresh_token, każdemu procesowi, który może dotrzeć do 127.0.0.1:6785. Brak TrustedHostMiddleware pozwala zdalnemu atakującemu na użycie DNS rebinding w przeglądarce ofiary, a proces współdzielony może bezpośrednio żądać punktu końcowego. Skradzione tokeny zapewniają natychmiastowy dostęp do API dbt Platform jako ofiara oraz trwały dostęp przez refresh token, umożliwiając dostęp lub modyfikację projektów, zadań, sekretów środowiskowych i powiązanych danych konta.
Ocena ryzyka
Atakujący może przejąć tokeny dostępu i odświeżania użytkownika, co prowadzi do nieautoryzowanego dostępu do danych i możliwości ich modyfikacji. Może to skutkować naruszeniem poufności i integralności danych w dbt Platform.
Rekomendacja
Zaleca się natychmiastową aktualizację dbt-mcp do wersji 1.20.0, która zawiera poprawkę. Należy również ograniczyć dostęp do portu 6785 i rozważyć dodanie walidacji hosta.
Inne podatności w dbt-mcp
Zobacz wszystkie- CVE-2026-44970Niskie
W dbt-mcp przed wersją 1.17.1 funkcja DefaultUsageTracker.emit_tool_called_event() serializuje pełny słownik argumentów każdego wywołania narzędzia MCP i wysyła go przez dbtlabs_vortex.producer.log_proto bez maskowania, w tym sql_query, vars i node_selection. Telemetria jest domyślnie włączona, chyba że ustawiono DBT_SEND_ANONYMOUS_USAGE_STATS=false lub DO_NOT_TRACK=1.
- CVE-2026-44969Niskie
W dbt-mcp (serwer MCP dla dbt) przed wersją 1.17.1 stwierdzono, że funkcja call_tool() loguje surowe argumenty na poziomie INFO, a configure_file_logging() zapisuje je do pliku dbt-mcp.log, co może ujawnić poufne zapytania SQL, zmienne i selekcje węzłów w postaci jawnego tekstu bez automatycznej rotacji lub usuwania.
- CVE-2026-44968Średnie
dbt-mcp przed wersją 1.17.1 nie oczyszcza wartości node_selection i resource_type przed dodaniem ich do argumentów podprocesu dbt. Klient MCP może wstrzyknąć globalne flagi dbt (np. --profiles-dir) mimo użycia shell=False.
Oryginalny opis (angielski, źródło NVD)
dbt-mcp is a Model Context Protocol server for interacting with dbt. Prior to 1.20.0, the local OAuth helper in src/dbt_mcp/oauth/fastapi_app.py exposes GET /dbt_platform_context without authentication or Host validation after a user completes the dbt Platform OAuth flow. The endpoint returns the full DbtPlatformContext, including access_token and refresh_token values persisted by the context manager, to any process that can reach 127.0.0.1:6785. The absence of TrustedHostMiddleware allows a remote attacker to use DNS rebinding against a victim's browser because the helper accepts arbitrary Host headers, while a co-located process can request the endpoint directly. The stolen tokens provide immediate dbt Platform API access as the victim and persistent access through the refresh token, allowing access to or modification of projects, jobs, environment secrets, and related account data. This issue is fixed in version 1.20.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

