CVE-2026-28207
Təsvir
Zen C, insan tərəfindən oxuna bilən GNU C/C11 formatına kompilyasiya olunan sistem proqramlaşdırma dilidir. Versiya 0.4.2-dən əvvəl, Zen C kompilyatorundakı komanda inyeksiyası zəifliyi (CWE-78), lokal hücumçulara `-o` komanda sətri arqumenti vasitəsilə xüsusi hazırlanmış çıxış faylının adını təqdim etməklə ixtiyari shell komandalarını icra etməyə imkan verir. Zəiflik `main` tətbiqi məntiqində (xüsusilə `src/main.c` faylında), kompilyatorun arxa plan C kompilyatorunu çağırmaq üçün shell komanda sətrini yaratdığı hissədə mövcud idi. Bu komanda sətri, istifadəçi tərəfindən idarə olunan çıxış faylı adı daxil olmaqla müxtəlif arqumentlərin birləşdirilməsi ilə qurulmuş və sonradan `system()` funksiyası vasitəsilə icra edilmişdir. `system()` funksiyası komandanı analiz etmək və icra etmək üçün shell-i çağırdığından, çıxış faylının adındakı shell meta simvolları shell tərəfindən şərh edilmiş və bu da ixtiyari komanda icrasına gətirib çıxarmışdır. `zc` kompilyatoruna ötürülən komanda sətri arqumentlərinə təsir edə bilən hücumçu (məsələn, build skripti və ya CI/CD boru kəməri konfiqurasiyası vasitəsilə) kompilyatoru işlədən istifadəçinin imtiyazları ilə ixtiyari komandaları icra edə bilər. Zəiflik versiya 0.4.2-də `system()` çağırışlarının silinməsi, `ArgList`-in tətbiqi və daxili arqument idarəetməsinin qurulması ilə aradan qaldırılmışdır. İstifadəçilərə Zen C-nin v0.4.2 və ya daha yeni versiyasına yeniləmələri tövsiyə olunur.
Necə düzəltmək olar
- zenc-lang zen_c0.4.2 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| zenc-lang zen_c | v < 0.4.2 | 0.4.2 |
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.