CVE-2022-41903
Təsvir
Git paylanmış versiya nəzarəti sistemidir. `git log` `--format` spesifikatorlarından istifadə edərək commit-ləri ixtiyari formatda göstərə bilər. Bu funksionallıq həmçinin `export-subst` gitattribute vasitəsilə `git archive` üçün də əlçatandır. Doldurma operatorlarının emalı zamanı `pretty.c::format_and_pad_commit()` funksiyasında tam ədəd daşması baş verir: `size_t` düzgün olmayan şəkildə `int` kimi saxlanılır və sonra `memcpy()` üçün ofset kimi əlavə edilir. Bu daşma birbaşa istifadəçi tərəfindən commit formatlaşdırma mexanizmini işə salan əmrin (məs., `git log --format=...`) icrası ilə tetiklənə bilər. O, həmçinin git archive vasitəsilə export-subst mexanizmi ilə dolayı yolla tetiklənə bilər; bu mexanizm git archive zamanı repozitoriya daxilindəki faylların içindəki format spesifikatorlarını genişləndirir. Bu tam ədəd daşması heap-də ixtiyari yazmalara səbəb ola bilər ki, bu da öz növbəsində ixtiyari kodun icrası ilə nəticələnə bilər. Problem 2023-01-17 tarixində dərc edilmiş, v2.30.7-yə qədər geriyə gedən versiyalarda yamaqlanmışdır. İstifadəçilərə yeniləmə tövsiyə olunur. Yeniləmə imkanı olmayan istifadəçilər etibarsız repozitoriyalarda `git archive`-ı deaktiv etməlidirlər. Əgər siz git archive-ı `git daemon` vasitəsilə təqdim edirsinizsə, `git config --global daemon.uploadArch false` əmrini işə salaraq onu deaktiv edin.
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əhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| git-scm git | v ≤ 2.30.6, 2.31.0 ≤ v ≤ 2.31.5, 2.32.0 ≤ v ≤ 2.32.4, 2.33.0 ≤ v ≤ 2.33.5, 2.34.0 ≤ v ≤ 2.34.5, 2.35.0 ≤ v ≤ 2.35.5, 2.36.0 ≤ v ≤ 2.36.3, 2.37.0 ≤ v ≤ 2.37.4, 2.38.0 ≤ v ≤ 2.38.2, 2.39.0 | — |
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.