Open Sesame sérülékenység

Editors' Pick

A Kor Security elemzése az Open VSX sérülékenységről egy klasszikus, de rendkívül veszélyes szoftvertervezési hibát mutat be, amely a szoftver-ellátási lánc egyik kritikus pontját érinti. Az Open VSX újonnan bevezetett előzetes ellenőrzési pipeline-jában jelent meg, amelynek célja az volt, hogy minden feltöltött VS Code kiterjesztést automatikusan ellenőrizzen malware, titkok és egyéb kockázatok szempontjából még publikálás előtt. 

A rendszer egyetlen logikai visszatérési értéket használt két teljesen eltérő állapot jelzésére, egyrészt arra, amikor nincs mit ellenőrizni, másrészt arra, amikor az ellenőrzési folyamat hibásan lefutott vagy el sem indult. A két állapot közötti különbségtétel hiánya miatt a rendszer a hibát sikeres ellenőrzésként értelmezte, így a bővítmény automatikusan PASSED státuszt kapott és publikálásra került. 

A támadónak elegendő volt nagy mennyiségű feltöltési kéréssel túlterhelni a publish endpointot, ami kimerítette az adatbázis kapcsolatkezelő erőforrásait. Ennek következtében a scan jobok nem indultak el, de a rendszer ezt nem hibaként, hanem nincs mit ellenőrizni állapotként kezelte. Így a rosszindulatú .VSIX kiterjesztések tényleges vizsgálat nélkül kerülhettek publikálásra. 

A támadás nem igényelt speciális jogosultságot, bármely ingyenes publisher fiókkal rendelkező felhasználó képes lehetett kihasználni a hibát. Ez jelentősen növeli a fenyegetés realitását, mivel a belépési küszöb rendkívül alacsony. 

A sérülékenységet gyorsan javították, a fő változtatás az volt, hogy a rendszer explicit módon kezeli a hibákat, és nem engedi át a sikertelen ellenőrzéseket.

FORRÁS