бөлүштүрүлгөн булакты башкаруу тутумунун түзөтүүчү релиздери Git 2.24.1, 2.23.1, 2.22.2, 2.21.1, 2.20.2, 2.19.3, 2.18.2, 2.17.3, 2.16.6, 2.15.4 жана 2.14.62.24.1. XNUMX, бул чабуулчуга файл тутумундагы ыктыярдуу жолдорду кайра жазууга, алыстан коддун аткарылышын уюштурууга же “.git/” каталогуна файлдарды кайра жазууга мүмкүндүк берген кемчиликтерди оңдогон. Көпчүлүк көйгөйлөр кызматкерлер тарабынан аныкталган
Microsoft Security Response Center компаниясынын маалыматы боюнча, сегиз алсыздыктын бешөө платформага мүнөздүү Windows.
- - агымдык команда "экспорттук белгилер = жол" ыктыярдуу каталогдорго энбелгилерди жазыңыз, алар текшерилбеген киргизүү маалыматтары менен "git fast-import" операциясын аткарып жатканда файл тутумундагы ыктыярдуу жолдорду кайра жазуу үчүн колдонулушу мүмкүн.
- - буйрук сабынын аргументтеринен туура эмес качуу ssh:// URL аркылуу рекурсивдүү клондоштуруу учурунда чабуулчу кодун алыстан аткарууга. Атап айтканда, арткы сызык менен аяктаган качуу аргументтери (мисалы, “test \”) туура эмес иштетилген. Бул учурда, кош тырмакчалар менен аргумент түзүүдө, акыркы цитата качып кетти, бул буйрук сабында варианттарыңызды алмаштырууну уюштурууга мүмкүндүк берди.
- — чөйрөдө субмодулдарды (“клон —рекурс-субмодулдар”) рекурсивдүү клондоштуруу учурунда Windows белгилүү бир шарттарда бир git каталогун эки жолу колдонууга түрткү бериңиз (.git, git~1, git~2 жана git~N NTFSде бир каталог катары таанылат, бирок бул жагдай git~1 үчүн гана сыналган), аны уюштуруу үчүн колдонсо болот. ".git" каталогуна жазуу. Өзүнүн кодунун аткарылышын уюштуруу үчүн чабуулчу, мисалы, .git/config файлындагы текшерүүдөн кийинки иштеткич аркылуу өзүнүн сценарийин алмаштыра алат.
- — жолдордогу диск тамгаларынын аталыштарын иштетүүчү Windows "C:\" сыяктуу жолдорду которууда ал бир тамгалуу латын идентификаторлорун алмаштыруу үчүн гана иштелип чыккан, бирок "subst letter:path" аркылуу дайындалган виртуалдык дисктерди түзүү мүмкүнчүлүгү эске алынган эмес. Мындай жолдор абсолюттук эмес, салыштырмалуу жолдор катары иштетилген, бул зыяндуу репозиторийин клондоштуруу учурунда жумушчу каталог дарагынын сыртындагы каалаган каталогго жазууга мүмкүндүк берген (мисалы, дисктин аталышында сандарды же Unicode символдорун колдонгондо - "1:\what\the\hex.txt" же "ä:\tschibät.sch").
- - платформада иштеп жатканда Windows NTFSте альтернативдүү маалымат агымдарын колдонуу, файлдын аталышына ":stream-name:stream-type" желегин кошуу менен түзүлгөн, зыяндуу репозиторийди клондоодо ".git/" каталогундагы файлдарды кайра жазыңыз. Мисалы, NTFSдеги ".git::$INDEX_ALLOCATION" аталышы ".git" каталогуна жарактуу шилтеме катары каралган.
- — Gitти WSL чөйрөсүндө колдонгондо (Windows Үчүн подсистема Linux) жумушчу каталогго киргенде NTFSде аттарды манипуляциялоодон коргоо (FAT аталышын которуу аркылуу чабуул жасоо мүмкүн болгон, мисалы, “.git”ге “git~1” каталогу аркылуу кирүүгө болот).
- -
платформадагы ".git/" каталогундагы жазуулар Windows Unix/'де уруксат берилген, аталышында тескери сызыкчасы бар файлдарды (мисалы, "a\b") камтыган зыяндуу репозиторийлерди клондоштуруу учурундаLinux, бирок жолдун бир бөлүгү катары кабыл алынат Windows. - — максаттуу чабуулдарды уюштуруу үчүн субмодуль аталыштарын текшерүүнүн жетишсиздиги колдонулушу мүмкүн, алар рекурсивдүү клондолуп калышы мүмкүн. чабуулчунун кодун аткаруу үчүн. Git башка субмодулдун каталогунун ичинде субмодуль каталогун түзүүгө тоскоол болгон жок, бул көпчүлүк учурларда баш аламандыкка алып келет, бирок рекурсивдүү клондоштуруу процессинде башка модулдун мазмунунун үстүнөн жазылышына тоскоол болгон жок (мисалы, субмодуль каталогдору "бегемот" жана "бегемот/илмектер" " .git/modules/hippo/" жана ".git/modules/hippo/hooks/" катары жайгаштырылат жана гипподогу илгичтер каталогун иштетилген илгичтерди жайгаштыруу үчүн өзүнчө колдонсо болот.
колдонуучулар Windows Git версияңызды шашылыш түрдө жаңыртып, жаңыртуу аяктаганга чейин ишенимсиз репозиторийлерди клондоштурбоо сунушталат. Эгерде шашылыш Git жаңыртуусу али жеткиликтүү болбосо, чабуул коркунучун азайтуу үчүн, ишенимсиз репозиторийлер менен "git clone --recurse-submodules" жана "git submodule update" буйруктарын иштетпөө, ишенимсиз киргизүү агымдары менен "git fast-import" колдонбоо жана репозиторийлерди NTFS негизиндеги бөлүмдөргө клондоштурбоо сунушталат.
Кошумча коопсуздук үчүн, жаңы чыгарылыштар .gitmodules ичинде "субмодул.{name}.update=!command" формасындагы конструкцияларды колдонууга да тыюу салат. Бөлүштүрүү үчүн, сиз баракчалардагы пакет жаңыртууларынын чыгарылышын көзөмөлдөй аласыз ,, , , , , , .
Source: opennet.ru
