Přeskočit na obsah
Bezpečnost 3 min čtení

MCPHub před verzí 1.0.32 dovolil směnit zachycený kód za přístupový token

Záznam CVE-2026-90474 zveřejněný 12. září se týká vestavěného autorizačního serveru OAuth 2.0 v MCPHubu. Útočník musel nejdřív zachytit kód po souhlasu uživatele; verze do 1.0.31 pak k jeho výměně nevyžadovaly klientské tajemství ani ověřovací údaj PKCE. Oprava vyšla už 23. srpna ve verzi 1.0.32.

Do databáze zranitelností přibyl 12. září 2026 záznam CVE-2026-90474. Týká se MCPHubu, brány provozované na vlastním serveru pro připojování a řízení serverů MCP. Chyba seděla ve vestavěném autorizačním serveru OAuth 2.0 a platila do verze 1.0.31 včetně.

Otevřený kovový visací zámek na světlém podkladu
Otevřený visací zámek jako ilustrace chybějícího ověření při výměně kódu. Foto: Lee J Haywood, Flickr (CC BY-SA 2.0)

Samotný kód chránil celý krok k tokenu

Při běžném přihlášení přes OAuth dá uživatel v prohlížeči souhlas a služba pošle aplikaci krátce platný autorizační kód. Aplikace ho na koncovém bodu pro tokeny vymění za přístupový token. Ten pak otevírá data a funkce v rozsahu, který uživatel povolil.

Ve starším MCPHubu mohl veřejný klient projít bez PKCE. Tato pojistka váže autorizační kód k ověřovacímu údaji, který zná pouze aplikace zahajující přihlášení. Klient s vlastním tajemstvím měl mít místo toho druhou ochranu, ale kód verze 1.0.31 tajemství kontroloval jen tehdy, když ho žadatel sám poslal. Vynechaná hodnota tedy nevedla k odmítnutí.

Výsledek popisuje hlášení v repozitáři projektu: kdo získal cizí autorizační kód, mohl ho směnit bez klientského tajemství a bez ověřovacího údaje PKCE. Token nesl oprávnění oběti. K úplnému přístupu do správy proto vedl jen kód administrátora; u běžného účtu zůstala oprávnění běžného uživatele.

Útok potřeboval kód i souhlas uživatele

Nešlo o vzdálené převzetí libovolné instalace jedním požadavkem. Útočník musel nejdřív zachytit platný kód z přihlášení, které potvrdila oběť. Právě tento předpoklad snižuje známku CVSS 3.1 na 6,8 z deseti: vektor počítá s vysokou složitostí útoku a s účastí uživatele.

Novější metodika CVSS 4.0 zapisuje tutéž situaci jinak. VulnCheck, který záznam CVE přidělil, uvádí 7,6 a závažnost high. Rozdíl mezi 6,8 a 7,6 tedy není spor o dopad ani nové měření. Jde o dvě verze bodovací soustavy; obě počítají s vysokým dopadem na důvěrnost a integritu a bez dopadu na dostupnost.

Veřejný záznam neuvádí, že by někdo chybu zneužíval v provozu. Nepopisuje ani únik konkrétních účtů. Dokládá možnost útoku v dodávaném výchozím nastavení a reprodukci na zkušební instalaci.

Verze 1.0.32 změnila tři kontroly

Oprava je v commitu z 23. srpna a projekt ji vydal týž den v MCPHubu 1.0.32. Veřejní klienti bez tajemství od té chvíle musejí použít PKCE s metodou S256. Klient s vlastním tajemstvím ho musí poslat vždy; špatná nebo chybějící hodnota končí odmítnutím.

Změnil se i zápis nových klientů. Původní čtyři cesty pro dynamickou registraci neměly vlastní omezení tempa. Od verze 1.0.32 přes ně požadavky procházejí stejným omezovačem jako další části OAuth. Nastavení requiresAuthentication se navíc začalo opravdu vynucovat, pokud ho správce zapne.

Ve verzi 1.0.37 zůstává dynamická registrace ve výchozím stavu povolená bez přihlášení. To samo nevrací popsanou výměnu zachyceného kódu: veřejný klient už bez PKCE S256 autorizační kód nedostane a registraci brzdí omezení tempa. Správce, který cizí klienty registrovat nepotřebuje, ji ale může vypnout nebo vyžadovat přihlášení.

Aktualizace nemusí končit u opravné verze

Číslo CVE se objevilo až dvacet dní po opravě, takže instalace s verzí 1.0.32 a novější už tuto chybu nemají. Nejnovější vydání je 1.0.37 z 13. září. Jeho poznámky popisují další bezpečnostní opravu: nástroj vypnutý ve výpisu šlo dříve pořád spustit přímým voláním. Při aktualizaci proto dává smysl přejít na aktuální vydání, ne pouze na první verzi za hranicí tohoto CVE.

Zdroje

Diskuse

Zatím tu nikdo nediskutuje. Můžete být první.

Napsat příspěvek

Diskutovat můžete i bez účtu. S registrací se ale příspěvek zveřejní hned a nemusíte pokaždé vyplňovat jméno. Účet už máte? Přihlaste se.

Nezveřejňujeme ho, slouží jen redakci.

Podporuje zápis Texy: **tučně**, *kurzíva*, odrážky, odkazy.

Dál k tématu

  1. Bezpečnost

    HiddenLayer popsal šest způsobů, jak v Mistral Vibe obejít schvalování příkazů

    Bezpečnostní firma HiddenLayer zveřejnila 11. září šest záznamů CVE k nástroji Mistral Vibe, agentovi pro práci s kódem z příkazové řádky. Všechny popisují touž potíž z…

  2. Bezpečnost

    Google uvádí u chyby Agent Studia dvě data pro dotčené aplikace

    Chyba v automaticky vytvořeném proxy rozhraní aplikací z Google Agent Studia mohla nepřihlášenému útočníkovi vydat přístupový token výchozího servisního účtu Compute…

  3. Bezpečnost

    Knihovna Transformers 5.17 přestala ukládat cizí kód před souhlasem

    Knihovna Transformers uměla převzít z modelového repozitáře vlastní způsob generování. Soubor s cizím kódem však stáhla a uložila do mezipaměti dřív, než se uživatele…

  4. Bezpečnost

    Poslední požadavek v dávce dostal ve vLLM odpověď toho prvního

    Hlášení CVE-2026-73558 z 8. září popisuje přetečení 32bitového indexu ve výpočetním jádře serveru vLLM. Sejde-li se v jedné dávce dost tokenů, sáhne výpočet pro poslední…