CVE-2026-52811
Təsvir
Gogs açıq mənbəli özünə aid host edilən Git xidmətidir. 0.14.3 versiyasından əvvəl, (*Repository).UploadRepoFiles simvolik keçidləri (symlinks) yalnız yükləmə hədəfinin yarpağında yoxlayır (osx.IsSymlink(targetPath)). Digər funksiyalar olan UpdateRepoFile, DeleteRepoFile və GetDiffPreview hər bir komponenti yoxlayan hasSymlinkInPath-dən istifadə edir — UploadRepoFiles burada tək istisnadır. Repo-yazma girişinə malik hücumçu, fayl adı hərfi geri slash (\) ehtiva edən multipart yükləmə vasitəsilə (Linux-da filepath.Base tərəfindən saxlanılır, sonra pathx.Clean tərəfindən / işarəsinə çevrilir) yazma prosesini əvvəllər təsdiqlənmiş kataloq simvolik keçidi vasitəsilə yönləndirə bilər. iox.CopyFile hədəf faylı os.Create (O_NOFOLLOW olmadan) ilə açır, buna görə də nüvə valideyn simvolik keçidini izləyir və hücumçunun baytlarını gogs UID-nin yaza bildiyi istənilən yerə yazır — məsələn, ~git/.ssh/authorized_keys vasitəsilə SSH girişi və ya <repo>.git/hooks/post-receive vasitəsilə növbəti push zamanı uzaqdan kodun icrası (RCE). Bu zəiflik 0.14.3 versiyasında aradan qaldırılıb.
Necə düzəltmək olar
- gogs.io/gogs0.14.3 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| gogs.io/gogsGo | v < 0.14.3, Aralıq göstərilməyib | 0.14.3 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.