Mga korektibong pagpagawas sa giapod-apod nga sistema sa pagdumala sa source code nga 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 ug 2.14.62.24.1, nga nag-ayo sa mga kahuyangan nga mahimong magtugot sa usa ka tig-atake sa pag-usab sa arbitraryong mga agianan sa file system, pag-organisar sa remote code execution, o pag-overwrite sa mga file sa direktoryo nga ".git/". Kadaghanan sa mga isyu nakit-an sa mga empleyado.
Microsoft Security Response Center, lima sa walo ka mga kahuyangan kay espesipiko sa plataporma Windows.
- — sugo sa sapa nga "feature export-marks=path" pagsulat og mga label ngadto sa arbitraryong mga direktoryo, nga magamit sa pag-overwrite sa arbitraryong mga agianan sa FS kung maghimo og operasyon nga "git fast-import" nga adunay dili kasaligan nga input data.
- - sayop nga pag-ikyas sa mga argumento sa command line Posible ang remote code execution atol sa recursive cloning gamit ang ssh:// URL. Sa partikular, ang pag-eskapo sa mga argumento nga natapos sa backslash (pananglitan, "test\") dili husto ang pagdumala. Niini nga kaso, sa pag-frame sa usa ka argumento gamit ang double quotes, ang katapusang quote gi-eskapo, nga nagtugot sa command-line substitution sa custom options.
- — kon recursively nga nag-clone sa mga submodule (“clone —recurse-submodules”) sa palibot Windows ubos sa pipila ka mga kondisyon Sugdi ang paggamit sa usa ka git directory kaduha (ang .git, git~1, git~2, ug git~N giila nga usa ka directory sa NTFS, apan kini nga sitwasyon gisulayan lamang alang sa git~1), nga magamit sa pagsulat sa ".git" directory. Aron ipatuman ang ilang code, ang usa ka tig-atake mahimo, pananglitan, nga isal-ot ang ilang script pinaagi sa post-checkout handler sa .git/config file.
- — tigdumala sa mga ngalan sa drive letter sa mga agianan Windows Sa paghubad sa mga agianan sama sa "C:\", kini gidisenyo lamang aron pulihan ang mga single-letter nga Latin identifier, apan wala gikonsiderar ang posibilidad sa paghimo og mga virtual disk nga gi-assign pinaagi sa "subst letter:path". Ang ingon nga mga agianan giproseso dili isip absolute, apan isip relative paths, nga nagtugot, sa pag-clone sa usa ka malisyosong repository, sa pagsulat sa usa ka arbitraryong direktoryo sa gawas sa working directory tree (pananglitan, kung mogamit og mga numero o Unicode character sa ngalan sa disk - "1:\what\the\hex.txt" o "ä:\tschibät.sch").
- - kon nagtrabaho sa plataporma Windows gamit ang alternatibong mga sapa sa datos sa NTFS, nga gihimo pinaagi sa pagdugang sa ":stream-name:stream-type" nga bandila sa ngalan sa file, I-overwrite ang mga file sa direktoryo nga ".git/" kon mag-clone og malisyosong repository. Pananglitan, ang ngalan nga ".git::$INDEX_ALLOCATION" sa NTFS giisip nga balido nga link sa direktoryo nga ".git".
- — kon mogamit og Git sa usa ka WSL environment (Windows Subsistema para sa Linux) sa pag-access sa working directory proteksyon batok sa manipulasyon sa ngalan sa NTFS (posible ang mga pag-atake pinaagi sa paghubad sa ngalan sa FAT, pananglitan, ang ".git" mahimong ma-access pinaagi sa direktoryo nga "git~1").
- -
mga entry sa direktoryo nga ".git/" sa plataporma Windows kon mag-clone og malisyosong mga repository nga adunay mga file nga adunay backslash sa ngalan (pananglitan "a\b"), nga gitugot sa Unix/Linuxapan giisip nga kabahin sa dalan paingon sa Windows. - — ang dili igo nga pagsusi sa mga ngalan sa submodule mahimong magamit sa pag-organisar sa mga target nga pag-atake, nga, kung i-clone sa recursively, mahimong aron ipatuman ang attacker code. Ang Git wala magdili sa paghimo og submodule directory sulod sa laing submodule directory, nga sa kadaghanang mga kaso mahimong mosangpot lang sa kalibog, apan dili kini makapugong sa pag-overwriting sa mga sulod sa laing module atol sa recursive cloning (pananglitan, ang submodule directories nga "hippo" ug "hippo/hooks" nahimutang isip ".git/modules/hippo/" ug ".git/modules/hippo/hooks/", ug ang hooks directory sa hippo mahimong gamiton nga gilain aron ibutang ang mga handler nga ipatuman.
Mga tiggamit Windows Girekomenda nga i-upgrade dayon ang imong bersyon sa Git ug likayan ang pag-clone sa mga dili kasaligan nga repository hangtod makompleto ang pag-upgrade. Kung wala pa magamit ang usa ka dinalian nga pag-update sa Git, aron makunhuran ang peligro sa pag-atake, girekomenda nga dili ipadagan ang "git clone --recurse-submodules" ug "git submodule update" nga adunay dili kasaligan nga mga repository, dili gamiton ang "git fast-import" nga adunay dili kasaligan nga mga input stream, ug dili i-clone ang mga repository ngadto sa mga partisyon nga nakabase sa NTFS.
Alang sa dugang nga seguridad, ang mga bag-ong pagpagawas nagdili usab sa paggamit sa mga construct sa porma nga "submodule.{name}.update=!command" sa .gitmodules. Alang sa mga distribusyon, mahimo nimong masubay ang mga pagpagawas sa pag-update sa pakete sa mosunod nga mga panid: ,, , , , , , .
Source: opennet.ru
