Open Sesame sérülékenység
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.