Egy jóváhagyott parancs is futtathat támadói kódot

A Pillar Security kutatói egy Cursor-sebezhetőséget tártak fel, amelyben az AI-kódoló ügynök által módosított környezeti változók miatt egy fejlesztő által jóváhagyott, ártalmatlannak tűnő parancs támadói kódot futtathatott. A Docker szerint a történet azt mutatja, hogy a parancsengedélyezési listák önmagukban nem elegendők.
- A Pillar Security CVE-2026-22708 néven jelentette a Cursor hibáját.
- A környezeti változók láthatatlan módosítása után egy jóváhagyott parancs támadói kódot futtathatott.
- A Cursor a 2.3-as verzióban javította a hibát.
- A Docker Sandboxes elkülönített microVM-ben futtatja az AI-kódoló ügynököket.
- A sandbox megakadályozhatja a gazdagép SSH-kulcsainak közvetlen elérését, de az SSH-agent használata továbbra is lehetséges.
A hiba a jóváhagyási folyamatot kerülte meg
A Docker 2026. augusztus 18-án közzétett írása a vállalat AI-kódoló ügynökökről szóló sorozatának ötödik része. A bejegyzés egy 2026. január 14-én nyilvánosságra hozott Cursor-hibát ismertet. A Pillar Security kutatói a problémát CVE-2026-22708 néven jelentették, a Cursor pedig magas súlyosságúként értékelte, és a 2.3-as verzióban javította.
A hiba akkor jelentkezett, amikor az ügynök automatikus futtatási módban, engedélyezési listával működött. Bizonyos parancsértelmezőbe épített utasítások, köztük az export, a typeset és a declare, úgy hajthattak végre módosításokat a környezetben, hogy nem szerepeltek az engedélyezési listán, és nem kértek hozzájuk jóváhagyást.
Egy README-fájl, függőség vagy hibajegybejegyzés így olyan utasítást tartalmazhatott, amely csendben átírta a környezeti változókat. Ezután a fejlesztő jóváhagyhatott egy hétköznapi parancsot, például a git branch futtatását, miközben annak végrehajtása már a támadó kódját indította el. A Docker szerint a kutatók szerint a módszer teljesen üres engedélyezési lista mellett is működött.
A parancs neve nem árulja el a teljes hatását
A támadás lényege, hogy az ellenőrzés a parancs nevét vizsgálta, miközben egy korábbi, láthatatlan lépés megváltoztatta azt a környezetet, amelyben a parancs elindult. A Git például a PAGER nevű környezeti változót használja annak meghatározására, milyen program jelenítse meg a kimenetét. A Python hasonló módon a PYTHONWARNINGS változót olvassa.
A Pillar Security hosszabb bemutatója több változót is érintett, köztük a PYTHONWARNINGS, a BROWSER és a PERL5OPT beállításokat. Ezek segítségével egy későbbi python3 parancs is támadói kódot futtathatott. A Docker szerint egyes változatok jóváhagyás nélkül is működtek, például amikor további sorok kerültek a ~/.zshrc fájlba, így a kód új terminálnyitáskor ismét lefuthatott.
A támadás végső láncolata a Pillar kutatásában az áldozat SSH-privát kulcsainak kiszivárgásához vezetett. A Docker hangsúlyozza, hogy ehhez nem volt szükség memóriasérülésre vagy jogosultságkiterjesztésre. A fejlesztő pontos jóváhagyási üzenetet látott, valóban ártalmatlannak tűnő parancsot engedélyezett, a végrehajtás mégis tetszőleges kód futtatásával zárult.
Mit véd ki a Docker Sandbox?
A Docker Sandboxes a kódoló ügynököket elkülönített microVM-ekben futtatja. Ezek saját kernellel és fájlrendszerrel rendelkeznek, a hálózati hozzáférésük pedig alapértelmezés szerint tiltott. A Docker szerint így egy kompromittált függőség nem férhet hozzá a gazdagéphez, annak hitelesítő adataihoz vagy más munkaterhelésekhez.
A sandboxon belül az ügynök bármilyen parancsot futtathat, akár sudo használatával is. Ez megszünteti azt a problémát, hogy egy parancs kijátssza az engedélyezési listát. A környezeti változók módosítása és a támadói kód futtatása a sandboxban továbbra is megtörténhet, a folyamat azonban a Docker által leírt határnál elakad: az SSH-kulcs nem található meg a virtuális környezetben, mert a felhasználó saját könyvtára azon kívül van.
A Docker ugyanakkor azt írja, hogy az SSH-agent foglalata továbbítva van a sandboxba, így a szokásos műveletek, például a git push, működhetnek. A sandboxban futó kód ezért használhatja az SSH-agentet hitelesítésre, a privát kulcsot azonban nem tudja magával vinni. A vállalat szerint a tanulság az, hogy az ügynök végrehajtását elkülönítési határon kell védeni, nem kizárólag a parancssor előtti engedélykérésre támaszkodni.


