Kluster Verify MCP Server izlaže korisnike iscrpljivanju kredita
Poslužitelj verify-mcp tvrtke Kluster AI vjeruje svakoj sesiji preglednika koja može doseći njegovu krajnju točku /stream.
Kada je servis izložen putem HTTP-a i vezan na 0.0.0.0, napad DNS rebindinga može pretvoriti žrtvin preglednik u proxy koji upravlja API-jem iz otvorenog interneta.
Tijekom našeg testiranja ova nam je tehnika omogućila udaljeno pozivanje verify alata i trošenje Klusterovih kredita bez korisnikova pristanka.
Sažetak
- Vektor napada: DNS rebinding zloupotrebljava model povjerenja preglednika kako bi preusmjerio naziv domene s napadačevog hosta na
127.0.0.1, zaobilazeći zaštite pravila istog izvora (Same-Origin Policy). - Izložena komponenta: Kluster
verify-mcpposlužitelj izlaže/streamputem običnog HTTP-a i prihvaća zahtjeve isključivo na temelju Host zaglavlja koja isporučuje klijent. - Uočeni rezultat: Nakon rebindinga, JavaScript pod kontrolom napadača mogao je upravljati verify alatom kao da je riječ o lokalnom korisniku, trošeći plaćene kredite.
Tehnička analiza
Napad se odvija u dvije DNS faze uz jednostavan HTML/JavaScript payload:
- Početno vezivanje na napadačevu infrastrukturu. Žrtva posjeti stranicu pod napadačevom kontrolom. Prvo DNS razrješenje pokazuje na napadačevu javnu IP adresu, što nam omogućuje da poslužimo skriptu koja povremeno provjerava Kluster krajnju točku.
- Rebinding na localhost. Nakon što se stranica učita, napadačev DNS poslužitelj na sljedeće upite za isti host odgovara s
127.0.0.1. Preglednici ponovno koriste keširani naziv, pa se naknadnifetchpozivi tiho preusmjeravaju na žrtvino loopback sučelje, zadržavajući izvorni niz izvora (origin). - Upravljanje verify API-jem. Budući da
verify-mcpdopušta HTTP zahtjeve s bilo kojeg izvora i ne provjerava Host ni Origin zaglavlja, naša je skripta uspješno slala POST zadatke na/stream, pokrećući izvođenja verifikacije koja troše kredite.
Ovaj obrazac nije jedinstven za Kluster, ali kombinacija HTTP transporta i izostanka provjere zaglavlja učinila je iskorištavanje trivijalnim.
Utjecaj
- Zloupotreba servisa: Udaljeni akteri mogu trošiti Klusterove kredite za verifikaciju ili preplaviti API, uzrokujući financijski gubitak ili ograničavanje brzine za legitimne korisnike.
Preporuke
Za Kluster AI
- Strogo provjeravajte
HostiOriginzaglavlja, odbijajući zahtjeve koji se ne podudaraju s eksplicitnim popisom dopuštenih (localhost,127.0.0.1). - Uvedite autentifikaciju ili API tokene čak i za lokalne sesije kako bi samo pouzdani pozivatelji mogli pokretati radnje koje troše kredite.
Za MCP operatore i korisnike
- Pretpostavite da su localhost servisi dostupni putem preglednika u prisutnosti DNS rebindinga; pratite neočekivane nazive izvora u zapisnicima.
- Preferirajte HTTPS (s ispravnim certifikatima) i eksplicitnu provjeru zaglavlja za svaki alat izložen izvan loopback sučelja.
- Educirajte razvojne inženjere da zatvore lokalne agente pri pregledavanju nepouzdanih stranica, ili koristite segmentaciju mreže za izolaciju agentskih servisa od zadanog profila preglednika.
Završne misli
DNS rebinding i dalje zamućuje granicu između “lokalnog” i “udaljenog” za MCP alate.
Otvrdnjavanjem transporta, provjerom metapodataka zahtjeva i zahtijevanjem autentifikacije, dobavljači platformi mogu pomoći razvojnim inženjerima da budu sigurniji.
Vremenski slijed
- 2025-07-17: Početna prijava poslana sigurnosnom timu Kluster AI.
- 2025-07-17: Kluster je potvrdio primitak istog dana.
- 2025-08-29: Naknadni upit poslan Kluster AI-ju sa zahtjevom za status otklanjanja.
- 2025-10-16: Tehnička obavijest objavljena na mcpsec.dev.