Autor: Evan Harris
Rizik: Visok
Zahvaćena komponenta: thirdweb MCP Server

Uvod

U sklopu našeg kontinuiranog sigurnosnog istraživanja poslužitelja Model Context Protocol (MCP) uočili smo značajnu sigurnosnu ranjivost u thirdweb MCP Serveru koja omogućuje neovlaštene kriptovalutne transakcije putem neautentificiranog mrežnog pristupa.

Pregled ranjivosti

thirdweb MCP Server, kada se pokrene s zastavicom --transport sse, izlaže neautentificirano sučelje Server-Sent Events (SSE) koje se prema zadanim postavkama povezuje na 0.0.0.0:8000. Takva konfiguracija omogućuje udaljenim napadačima izvršavanje neovlaštenih kriptovalutnih transakcija iz novčanika žrtava.

Tehnički detalji

Problem

Kada je konfiguriran s SSE transportom, poslužitelj:

  • Povezuje se na 0.0.0.0:8000, čineći se dostupnim s bilo kojeg čvora u mreži
  • Ne pruža nikakav mehanizam autentifikacije za krajnju točku /sse
  • Vjeruje svakom povezanom klijentu da izvršava povlaštene operacije, uključujući kriptovalutne transakcije

Scenarij napada

Napadač može:

  1. Otkriti izloženu krajnju točku na adresi http://victim_ip:8000/sse
  2. Povezati se pomoću standardnih MCP alata kao što je MCP Inspector
  3. Izvršiti neovlaštene transakcije korištenjem alata send_transaction
  4. Prenijeti kriptovalutu iz novčanika žrtve na vlastitu adresu

Proof of Concept

Ranjiva konfiguracija

thirdweb-mcp \
  --transport sse \
  --secret-key=sk_... \
  --engine-url=railway_hosted_engine_url \
  --engine-auth-jwt=eyJ... \
  --engine-backend-wallet-address=0xVictimWallet

Izvršavanje neovlaštene transakcije

Pomoću MCP Inspectora napadač se može povezati na http://victim_ip:8000/sse i izvršiti alat send_transaction s odgovarajućim parametrima kako bi prenio kriptovalutu iz novčanika žrtve na adresu pod kontrolom napadača.

[Tehnički detalji skriveni do dostupnosti zakrpe]

To rezultira neovlaštenim prijenosom kriptovalute iz novčanika žrtve bez ikakve autentifikacije ili pristanka korisnika.

Procjena utjecaja

Ova ranjivost omogućuje:

  • Izravnu krađu kriptovalute iz novčanika žrtava bez pristanka korisnika
  • Izloženost u cijeloj mreži koja pogađa kafiće, urede, javne mreže i bilo koju kompromitiranu privatnu mrežu

Faktori rizika

  • Mrežna izloženost: Zadano vezanje na 0.0.0.0 čini uslugu dostupnom u cijeloj mreži
  • Bez autentifikacije: Bilo koji klijent može se povezati i izvršavati povlaštene operacije
  • Cilj visoke vrijednosti: Izravan pristup kriptovalutnim transakcijama
  • Neprimjetan rad: Napadi se mogu odvijati bez znanja korisnika

Preporučeno ublažavanje

Za korisnike (odmah)

  • Izbjegavajte korištenje --transport sse u dijeljenim mrežnim okruženjima
  • Koristite vezanje na localhost izmjenom zadane konfiguracije
  • Uvedite ograničenja na mrežnoj razini (vatrozidi, VPN-ovi)

Za razvojne programere (dugoročno)

  • Promijenite zadano vezanje s 0.0.0.0 na 127.0.0.1
  • Uvedite autentifikaciju za sva transportna sučelja
  • Dodajte sigurnosna upozorenja u dokumentaciju i CLI izlaz
  • Razmotrite sigurnosne modele specifične za transport

Ova ranjivost prijavljena je timu thirdweb u sklopu praksi odgovorne objave. Preporučujemo korisnicima da se ažuriraju na najnoviju verziju čim zakrpe postanu dostupne.

Šire implikacije

Ovaj nalaz naglašava važna sigurnosna razmatranja za MCP poslužitelje:

  1. Mehanizmi autentifikacije neophodni su za svaku mrežno dostupnu MCP uslugu
  2. Zadane vrijednosti mrežnog vezanja trebale bi davati prednost sigurnosti nad pogodnošću
  3. Sigurnost na transportnom sloju trebala bi se koristiti za ublažavanje napada temeljenih na HTTP-u
  4. Sigurnosna dokumentacija trebala bi opisivati rizike implementacije

Vremenski slijed objave

  • 2025-05-23: Ranjivost otkrivena i prijavljena timu thirdweb
  • 2025-07-18: Naknadni e-mail s molbom za potvrdu primitka objave
  • 2025-09-02: Završna provjera s potvrdom da će prijava biti objavljena
  • 2025-09-03: Javna objava i objava sigurnosne obavijesti

Zaključak

Mogućnost neovlaštenih transakcija u thirdweb MCP Serveru pokazuje ključnu važnost sigurnih zadanih postavki u razvojnim alatima koji integriraju blockchain i AI.

Kako raste usvajanje MCP-a, uvođenje robusnih sigurnosnih mjera postaje još važnije za zaštitu digitalne imovine korisnika i održavanje povjerenja u ekosustav.

Organizacije i pojedinci koji uvode MCP poslužitelje trebali bi provoditi temeljite sigurnosne provjere, primjenjivati strategije dubinske obrane i održavati svijest o rizicima mrežne izloženosti.

Reference