CVE-2024-45405

Orta

Təsvir

`gix-path`, yolları və onların konversiyalarını idarə edən `gitoxide` layihəsinin (Rust dilində yazılmış `git` implementasiyası) bir crate-idir. Versiya 0.10.11-dən əvvəl `gix-path`, `git` quraşdırılması ilə əlaqəli konfiqurasiya faylının yolunu tapmaq üçün `git` proqramını işə salır, lakin qeyri-adi və ya non-ASCII simvollar ehtiva edən yolları düzgün şəkildə həll etmir. Bu, nadir hallarda lokal hücumçunun kodun icrasına səbəb olan konfiqurasiyanı inyeksiya etməsinə şərait yaradır. Versiya 0.10.11 bu problem üçün yamı ehtiva edir. `gix_path::env` daxilində, `installation_config` və `installation_config_prefix` funksiyalarının alt implementasiyası, `git` quraşdırılmasına aid hesab ediləcək faylın yolunu tapmaq üçün `git config -l --show-origin` əmrini çağırır. `gix-path`-in təsirlənmiş versiyaları, `git`-in hərfi yolları bildirməsini təmin etmək üçün `-z`/`--null` parametrini ötürmür. Bunun əvəzinə, `git`-in dırnaq arası yol çıxardığı bəzi hallar üçün onlar yolu dırnaq işarələrini silərək analiz etməyə çalışırlar. Problem ondadır ki, yol dırnaq arası olduqda, o, sadəcə dırnaqların birləşdirilməsindən daha əhəmiyyətli şəkildə dəyişə bilər. Əgər bu dəyişikliklər geri qaytarılmazsa, nəticədə orijinala ekvivalent olmayan başqa bir valid yol yarana bilər. Tək istifadəçili sistemdə, `GIT_CONFIG_SYSTEM` və `GIT_CONFIG_GLOBAL` qeyri-adi dəyərlərə təyin edilmədikdə və ya Git qeyri-adi şəkildə quraşdırılmadıqda bunu istismar etmək mümkün deyil. Belə bir ssenari gözlənilmir. Çoxistifadəçili sistemlərdə belə istismar ehtimalı azdır, lakin bəzi nadir konfiqurasiyalarda və ya istifadə hallarında mümkündür. Ümumiyyətlə, istismarın uğurlu olma ehtimalı aşağıdakı hallarda daha yüksəkdir: istifadəçilərdən `git`-i özlərinin quraşdırması gözlənilirsə və onlar bunu proqnozlaşdırıla bilən yerlərdə edirlərsə; `git`-in quraşdırıldığı yerlər (istər yollardakı istifadəçi adları, istərsə də digər səbəblərdən) `git`-in yollarda standart olaraq dırnağa aldığı non-ingilis və aksentli hərflər kimi simvollar ehtiva edirsə; fərdi `system`-scope konfiqurasiya faylı `GIT_CONFIG_SYSTEM` mühit dəyişəni ilə təyin edilibsə və onun yolu qeyri-adi yerdədirsə və ya qəribə adlı komponentlərə malikdirsə; yaxud `system`-scope konfiqurasiya faylı mövcud deyilsə, boşdursa və ya `GIT_CONFIG_NOSYSTEM`-dən başqa vasitələrlə bloklanıbsa. Hazırda `gix-path`, əgər daha yüksək scope konfiqurasiya faylı mövcud deyilsə, `global`-scope konfiqurasiya faylını quraşdırmaya aid hesab edə bilir. Bu, `git`-in adi şəkildə sistem səviyyəsində quraşdırıldığı sistemlərdə belə istismar ehtimalını artırır. Lakin, bu amillərin hər hansı kombinasiyasında belə istismarın çox çətin olacağı gözlənilir.

CiddilikOrta
CVSS6.0
İstismar ehtimalı—
MəhsulByron Gitoxide
Dərc6 sen 2024
İlk görülmə6 sen 2024

Necə düzəltmək olar

Mənbələrdə bu zəiflik üçün düzəldilmiş versiya və ya yamaq keçidi yoxdur.

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
Byron gitoxide< 0.10.11—

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.

Intelligence 360 paketində

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.