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

CowAgent má dvě nová CVE kvůli výstupu příkazů a sdílenému prohlížeči

Dva záznamy CVE zveřejněné 2. září popisují odmítnutí služby v agentním nástroji CowAgent. Nástroj Bash hromadí celý výstup příkazu před jeho zkrácením, zatímco prohlížeč nechá dlouhou operaci obsadit společné pracovní vlákno i po vypršení čekání volajícího. U první chyby evidence zahrnuje aktuální vydání 2.1.7 a žádný záznam nejmenuje opravenou verzi.

Terminál DEC VT100 s klávesnicí
Terminál DEC VT100. CowAgent pracuje s příkazovou řádkou i prohlížečem, snímek ale jeho rozhraní nezobrazuje. Foto: Wolfgang Stief, Wikimedia Commons (CC0)

CowAgent je agentní nástroj, který dává jazykovému modelu přístup k příkazové řádce, prohlížeči a dalším funkcím. Dne 2. září dostal dvě čísla CVE za chyby, které mohou takový běh vyřadit z provozu. Ani jeden záznam nepopisuje převzetí počítače nebo únik dat.

CVE-2026-84427 se týká výstupu příkazů v nástroji Bash. CVE-2026-84425 míří na společnou službu prohlížeče. Koordinátor VulDB ohodnotil obě chyby známkou 4,3 z 10 podle CVSS 3.1 a 5,3 podle CVSS 4.0, v obou případech jako středně závažné.

Bash zkrátí výstup až po jeho načtení

CowAgent spouští příkaz v samostatném procesu a čte jeho standardní výstup i chybový kanál ve dvou vláknech. Kód vydání 2.1.7 ukládá přicházející bloky do seznamů. Na konci je spojí do dvou úplných řetězců. Teprve další část výsledný text zkrátí na množství vhodné pro model.

Pořadí je podstatné. Limit odpovědi chrání kontext modelu, nikoli operační paměť procesu, který příkaz obsluhuje. Příkaz s velkým výstupem se nejdřív celý vejde do seznamu bloků, při spojení vznikne další souvislý objekt a potom se dekóduje. Technický zápis oznamovatele popisuje také možnost uložit úplný výstup do dočasného souboru.

Záznam CVE vyjmenovává jako dotčené všechny verze 2.1.0 až 2.1.7. Poslední z nich vyšla 21. srpna a je stále nejnovějším hotovým vydáním. Opravenou verzi CVE neuvádí. Hlavní větev se mezitím mění, ale její stav není vydání, na které by šlo správce bezpečně odkázat.

Prohlížeč pokračuje po vypršení čekání klienta

Druhá chyba pracuje s časem, ne s velikostí výstupu. Jednotlivé instance nástroje BrowserTool používají společnou službu prohlížeče. Ta posílá operace Playwrightu do jedné fronty a zpracovává je v jednom pracovním vlákně.

Volající čeká na výsledek nejvýše 120 sekund. Po uplynutí limitu dostane chybu, ale čekací kód ve verzi 2.1.7 neposílá běžící operaci pokyn ke zrušení. Dlouhé čekání stránky nebo vyhodnocování skriptu tak může společné vlákno zaměstnávat dál. Pozdější požadavky zůstávají ve frontě, přestože původní klient už svou odpověď vzdal.

Druhý nezávislý oznamovatel ověřoval stav běžnou následnou operací prohlížeče. Veřejný záznam CISA u CVE označuje existenci ukázky jako poc, automatizovatelnost jako no a technický dopad jako částečný. To není potvrzení aktivního zneužívání.

Evidence prohlížeče končí u verze 2.1.3

Rozsah verzí se u obou záznamů liší. Bash má v evidenci řadu 2.1.0 až 2.1.7, zatímco prohlížeč jen 2.1.0 až 2.1.3. Ve zdrojovém kódu vydání 2.1.7 přitom zůstává společná fronta, čekání 120 sekund i operace waitevaluate, na které technický zápis ukazuje.

Samotná podobnost kódu nestačí k rozšíření rozsahu CVE. Bez zopakování testu nelze tvrdit, že verze 2.1.7 splňuje všechny podmínky popsaného odmítnutí služby. Veřejné materiály projektu ale neukazují ani opravu, která by dlouhou operaci po vypršení limitu zrušila nebo vyměnila obsazené vlákno. Uživatel tak nemá uvedenou verzi, na kterou by mohl kvůli této chybě přejít.

Obě chyby potřebují cestu k úloze agenta

Hodnocení CVSS u obou záznamů počítá se síťovým přístupem a nízkým oprávněním, nikoli s anonymním návštěvníkem libovolné instalace. Technické zápisy staví scénář na obsahu, který dokáže ovlivnit úlohu agenta. Model pak musí zvolit nástroj Bash nebo prohlížeč a předat mu problematickou operaci. Jde tedy o další důsledek vkládání cizích pokynů do agentních postupů, ne o chybu, která se spustí pouhým otevřením CowAgentu.

Autoři obou hlášení doporučují omezit nástroje v nedůvěryhodných úlohách. U Bashe navrhují zastavit čtení po dosažení pevného počtu bajtů a omezit paměť, disk i dobu běhu procesu. U prohlížeče radí horní hranici pro čekání a skripty, předání zrušení do Playwrightu a oddělené omezené fronty podle relace. Jde o návrhy oznamovatelů; CowAgent zatím v záznamech nemá odkaz na vydanou opravu.

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

    Záznam CVE popsal chybu FaceFusionu až dva měsíce po její opravě

    FaceFusion do verze 3.6.1 skládal cestu k souboru úlohy přímo z názvu, který přijalo rozhraní Gradio bez přihlášení. Cizí klient tak mohl zapsat JSON mimo pracovní…

  2. Bezpečnost

    Codex spouštěl program z nastavení cizího repozitáře mimo vlastní sandbox

    OpenAI zveřejnila 1. září 2026 čtyři záznamy CVE ke svému agentnímu nástroji Codex. Tři z nich stojí na témže předpokladu: repozitář si s sebou nese vlastní soubor .git…

  3. Bezpečnost

    MLflow ve verzích 2.1.0 až 3.14.x ignoroval zákaz pickle u modelů statsmodels

    Bezpečnostní volba v MLflow měla zastavit načítání modelů uložených pomocí pickle, integrace statsmodels ji ale nekontrolovala. Upravený modelový artefakt proto mohl při…

  4. Bezpečnost

    Knihovna ash_ai spouštěla text promptu jako zdrojový kód Elixiru

    Šest záznamů CVE zveřejněných 31. srpna míří na jedinou knihovnu: rozšíření ash_ai, které do elixirového frameworku Ash přidává práci s jazykovými modely. Nejzávažnější…