Browser-use web-ui ukládá klíče k modelům do nešifrovaných souborů
Záznam CVE-2026-82640 zveřejněný 30. srpna popisuje, jak browser-use web-ui ukládá klíče k modelům do souborů JSON v čitelné podobě. Týká se vydání 2.0.0 až 3.0.0 a stejný zápis zůstává i v hlavní větvi. K získání cizího klíče je však potřeba přístup k dočasnému adresáři.

Klíč k placenému modelu nemusí z počítače uniknout přes složitý útok. V projektu browser-use web-ui stačilo použít tlačítko pro uložení nastavení. Funkce zapsala hodnoty z formuláře, včetně klíče k poskytovateli modelu, do běžného souboru JSON.
Na problém upozorňuje CVE-2026-82640 zveřejněné 30. srpna. Záznam zahrnuje verze 2.0.0 až 3.0.0 a hodnotí chybu jako středně závažnou. Neuvádí známé zneužití. Národní databáze NVD má záznam zatím ve stavu Received, takže popis i skóre pocházejí od společnosti VulnCheck, která číslo zveřejnila.
Do souboru se ukládají všechna aktivní pole
Mechanismus potvrzuje přímo zdrojový kód vydání 3.0.0. Metoda save_config projde interaktivní prvky rozhraní, vynechá tlačítka a soubory a ostatní hodnoty vloží do slovníku. Ten pak bez další úpravy zapíše do adresáře ./tmp/webui_settings.
Jméno souboru tvoří datum a čas s přesností na sekundy. Uvnitř zůstane i pole agent_settings.llm_api_key, tedy klíč zadaný uživatelem v rozhraní. Kód nepoužívá šifrování ani úložiště tajemství a po zápisu vrátí cestu k novému souboru.
Nejde o vlastnost samotné knihovny browser-use, ale jejího samostatného webového rozhraní. Projekt podporuje OpenAI, Anthropic, Google, DeepSeek a další poskytovatele. Dopad proto závisí na oprávněních uloženého klíče a na tom, zda má někdo další přístup k adresáři s nastavením.
Síťový přístup sám ke čtení klíče nestačí
VulnCheck popisuje útočníka s oprávněním číst dočasný adresář. Tomu odpovídá i vektor CVSS 3.1: místní přístup a nízká oprávnění. Veřejně dostupný formulář tedy automaticky neznamená, že návštěvník dokáže otevřít soubor jiného uživatele.
Veřejné hlášení číslo 736 popisuje ještě druhou polovinu problému. Rozhraní Gradio nemá vlastní přihlášení a volající po uložení dostane cestu k souboru. Klíč však přečte až tehdy, když se dostane také k souborovému systému, připojenému svazku nebo sdílenému adresáři.
Na způsobu spuštění proto záleží. Při místním spuštění program ve výchozím nastavení poslouchá jen na adrese 127.0.0.1. Oficiální kontejner naopak podle konfigurace Supervisoru spouští webové rozhraní na 0.0.0.0:7788 a Docker Compose tento port zveřejňuje. Síťové omezení tím nezastoupí ochranu souborů, ale zmenší počet lidí, kteří mohou ukládání nastavení vyvolat.
Hlášení čeká bez odpovědi a opravené vydání není
Reportér uvádí, že chybu soukromě oznámil 2. června. Veřejný tiket založil 5. července a k 30. srpnu zůstává otevřený, bez komentáře správce. Nejnovější značka projektu je stále verze 3.0.0 vydaná 31. srpna 2025.
Stejnou metodu obsahuje i současná hlavní větev. Nelze tedy doporučit číslo verze, ve kterém by byla chyba opravená. Globální záznam GitHubu je navíc označený jako neprověřený; jisté je ukládání klíče v čitelné podobě, rozsah verzí a stav veřejného kódu.
Do vydání opravy pomůže klíče oddělit od nastavení
Správce instalace může začít kontrolou adresáře tmp/webui_settings. Jestli v něm najde soubory s produkčními klíči, samotné smazání nestačí: klíče mohou být v záloze nebo ve vrstvě kontejneru, a proto je bezpečnější je u poskytovatele zrušit a vydat nové.
Dokud projekt nezveřejní opravu, nemá se tlačítkem Save UI Settings ukládat konfigurace s živým klíčem. Rozhraní patří na místní nebo oddělenou síť, případně za reverzní proxy s přihlášením. Klíč má mít jen oprávnění a limit útraty, které daná instalace potřebuje. Tím se neodstraní chybný zápis na disk, ale případný únik nebude mít stejný dosah jako neomezený účet.