Geri qayıt

VSCode səhvi ilə bir kliklə GitHub tokeninin oğurlanması
SiTech AI Team2 dəq oxu

VSCode səhvi ilə bir kliklə GitHub tokeninin oğurlanması

Təhlükəsizlik tədqiqatçısı bir kliklə qurbanın özəl repoları daxil bütün GitHub repolarına oxuma-yazma hüququ verən tokenin oğurlandığı hücumu sənədləşdirib; Microsoft düzəlişləri iyunun 3-də buraxıb.

Təhlükəsizlik tədqiqatçısı Visual Studio Code-un veb versiyasındakı səhvdən istifadə edərək bir kliklə GitHub giriş tokeninin oğurlana biləcəyini sənədləşdirib; həmin token qurbanın özəl repoları daxil bütün repolarında oxuma və yazma hüququ verir. Yazı iyunun 2-də tədqiqatçının bloqunda və VSCode-un problem izləyicisində dərc olunub.

İzolyasiyadakı səhv

Hədəf GitHub-ın brauzer əsaslı redaktoru github.dev-dir: orada hər hansı reponu açmaq veb tətbiqə github.com-un github.dev-ə göndərdiyi OAuth tokenini verir. Bu token açdığınız repoya məhdudlaşmır, yəni daxil olmuş istifadəçinin çıxışı olan bütün digər repolara giriş imkanı yaradır. VSCode adətən webview-lərində işləyən kodu — Markdown önizləmələri, Jupyter dəftərləri — əsas redaktordan təcrid olunmuş, fərqli mənşəli iframe-də saxlayır. Səhv ondadır ki, webview-lər klaviatura hadisələrini VSCode-un mesajlaşma API-si vasitəsilə valideyn pəncərəyə ötürür; beləliklə, etibarsız webview daxilində işləyən skript redaktorun istifadəçidən gəldiyini düşündüyü düymə basmalarını təqlid edə bilir.

Dəftər xanasından oğurlanmış tokenə

Nümunə üçün yalnız Jupyter dəftəri və "yerli iş sahəsi uzantısı" olan bir repo kifayətdir. Şəkil teqinin onerror işləyicisi ilə JavaScript işlədən Markdown xanası zənciri başladır: skript VSCode-un tövsiyə olunan uzantılar bildirişini gözləyir, onun əsas əməliyyatını təsdiqləmək üçün Ctrl+Shift+A göndərir və yerli uzantını quraşdırır — bu yol, iş sahəsinin özü etibarlı sayıldığı üçün nəşriyyat etimadı yoxlamasını keçir. Sonra həmin uzantı öz düymə birləşməsini əlavə edir və bu birləşmə seçilmiş mağaza uzantısını nəşriyyat yoxlamasını atlayaraq quraşdırma əmrini çağırır; quraşdırılan uzantı GitHub tokenini oxuyur və api.github.com/user/repos ünvanına sorğu göndərərək tokenin çıxışı olan özəl repoları göstərir. Eyni səhv VSCode-un masaüstü versiyasında da mövcuddur, lakin istifadə etmək daha çətindir: qurban reponu klonlayıb dəftəri açmalıdır və webview-də XSS səhvi ilə birləşdikdə bu, artıq uzaqdan kod icrası deməkdir.

Düzəlişlər və tövsiyələr

Microsoft iyunun 3-də müvəqqəti düzəliş buraxdı: veb redaktorda dəftər açılarkən təsdiq addımı əlavə edildi və əmrlərin nəşriyyat etimadını atlamasına imkan verilmədi. Həmin gün dəftər webview-lərindən keydown hadisələrinin yayılmasını dayandıran daha tam düzəliş dərc olundu. github.dev-i heç vaxt açmamış istifadəçilərə onun cookie və sayt məlumatlarını silmələri tövsiyə olunur — ilkin giriş pəncərəsini keçdikdən sonra, tədqiqatçının qeyd etdiyi kimi, redaktoru qoruyan heç bir CSRF tokeni yoxdur, buna görə internetdəki hər hansı keçid brauzeri bu hücuma yönləndirə bilər. Müəllif həmçinin VSCode-un çoxqatlı müdafiəsinin — ciddi məzmun təhlükəsizliyi siyasəti və Markdown təmizlənməsi — ziyanı məhdudlaşdırdığını vurğulayır və əvvəlki bildirişin səssizcə, kreditsiz düzəldilməsindən sonra açıq ifşa qərarını izah edir.

SiTech

SiTech — AI ilə gücləndirilmiş veb hazırlanması

Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.