๋ฌธ์˜ํ•˜๊ธฐ
๋ธ”๋กœ๊ทธ

CVE-2021-39935: GitLab CI Lint API ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ์š”์ฒญ ์œ„์กฐ ์ทจ์•ฝ์ 

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” CVE-2021-39935๋ฅผ ์ค‘์‹ฌ์œผ๋กœ, ์™ธ๋ถ€์— ๋…ธ์ถœ๋œ GitLab ์ธ์Šคํ„ด์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ์‹ค์ œ ๊ณต๊ฒฉ์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋Š”์ง€์™€ ์ด๋ฅผ ์‹๋ณ„ยท๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ณต๊ฒฉ ํ‘œ๋ฉด ๊ด€์ ์˜ ๋Œ€์‘ ์ „๋žต์„ ์‚ดํŽด๋ณธ๋‹ค.

2026๋…„ 2์›” ์ดˆ, ๋ฏธ๊ตญ ์‚ฌ์ด๋ฒ„๋ณด์•ˆ ๋ฐ ์ธํ”„๋ผ ๋ณด์•ˆ๊ตญ(CISA)์€ย GitLab Community ๋ฐ Enterprise Edition์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ์š”์ฒญ ์œ„์กฐ(Server-Side Request Forgery, SSRF) ์ทจ์•ฝ์  CVE-2021-39935๋ฅผย Known Exploited Vulnerabilities(KEV)ย ์นดํƒˆ๋กœ๊ทธ์— ์ถ”๊ฐ€ํ–ˆ๋‹ค. ํ•ด๋‹น ์ทจ์•ฝ์ ์€ ์ด๋ฏธ 2021๋…„์— ํŒจ์น˜๋˜์—ˆ์ง€๋งŒ,ย ์ธํ„ฐ๋„ท์— ๋…ธ์ถœ๋œ ๋ฏธํŒจ์น˜ GitLab ์ธ์Šคํ„ด์Šค๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•œ ์‹ค์ œ ์•…์šฉ์ด ๋‹ค์‹œ ํ™•์ธ๋˜๋ฉฐ ๊ธด๊ธ‰ ๋Œ€์‘ ๋Œ€์ƒ์œผ๋กœ ๋ถ„๋ฅ˜๋˜์—ˆ๋‹ค.

CISA๋Š” ์—ฐ๋ฐฉ ๊ธฐ๊ด€์— ๋Œ€ํ•ด 2026๋…„ 2์›” 24์ผ๊นŒ์ง€ ์กฐ์น˜๋ฅผ ์™„๋ฃŒํ•  ๊ฒƒ์„ ์š”๊ตฌํ–ˆ์œผ๋ฉฐ(BOD 22-01), ๋ฏผ๊ฐ„ ์กฐ์ง ์—ญ์‹œ ๋™์ผํ•œ ์ˆ˜์ค€์˜ ๋Œ€์‘์„ ์šฐ์„ ์‹œํ•  ๊ฒƒ์„ ๊ฐ•๋ ฅํžˆ ๊ถŒ๊ณ ํ•˜๊ณ  ์žˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” CVE-2021-39935๋ฅผ ์ค‘์‹ฌ์œผ๋กœ, ์™ธ๋ถ€์— ๋…ธ์ถœ๋œ GitLab ์ธ์Šคํ„ด์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ์‹ค์ œ ๊ณต๊ฒฉ์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋Š”์ง€์™€ ์ด๋ฅผ ์‹๋ณ„ยท๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ณต๊ฒฉ ํ‘œ๋ฉด ๊ด€์ ์˜ ๋Œ€์‘ ์ „๋žต์„ ์‚ดํŽด๋ณธ๋‹ค.

CVE-2021-39935 ์ทจ์•ฝ์  ๊ฐœ์š”

  • ์ทจ์•ฝ์  ID: CVE-2021-39935
  • ์˜ํ–ฅ ์ œํ’ˆ: GitLab Community Edition(CE), Enterprise Edition(EE)
  • ์œ ํ˜•: ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ์š”์ฒญ ์œ„์กฐ(SSRF), CWE-918
  • ๊ณต๊ฒฉ ์กฐ๊ฑด: ์ธ์ฆ ์—†์ด ์›๊ฒฉ ์•…์šฉ ๊ฐ€๋Šฅ(Unauthenticated)
  • ํ•ต์‹ฌ ์˜ํ–ฅ: GitLab ์„œ๋ฒ„๊ฐ€ ๊ณต๊ฒฉ์ž๊ฐ€ ์ง€์ •ํ•œ ์ž„์˜ URL๋กœ ์„œ๋ฒ„ ์ธก ์š”์ฒญ์„ ์ˆ˜ํ–‰ โ†’ ๋‚ด๋ถ€ ์ž์› ์ ‘๊ทผ/์Šค์บ”/๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํƒˆ์ทจ/2์ฐจ ์ทจ์•ฝ์  ์—ฐ์‡„

CVE-2021-39935๋Š” GitLab์˜ CI Lint API(CI/CD ๊ตฌ์„ฑ ๊ฒ€์ฆ ๋ฐ ํŒŒ์ดํ”„๋ผ์ธ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์— ์‚ฌ์šฉ)์—์„œ ์‚ฌ์šฉ์ž ์ž…๋ ฅ URL ๊ฒ€์ฆ์ด ๋ถ€์ ์ ˆํ•˜๊ฒŒ ์ฒ˜๋ฆฌ๋˜๋Š” ๋ฌธ์ œ๋กœ ์•Œ๋ ค์ ธ ์žˆ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” ์•…์„ฑ API ์š”์ฒญ์„ ํ†ตํ•ด GitLab ์„œ๋ฒ„๊ฐ€ ๋‚ด๋ถ€๋ง(์˜ˆ: RFC1918) ๋˜๋Š” ์™ธ๋ถ€ ์ž์›์œผ๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด๋„๋ก ์œ ๋„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํŠนํžˆ CI/CD ๋ฐ DevOps ํ”Œ๋žซํผ์€ ์ฝ”๋“œ, ํ† ํฐ, ๋ฐฐํฌ ํ‚ค, ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ž๊ฒฉ์ฆ๋ช… ๋“ฑย ๊ณ ๊ฐ€์น˜ ๋น„๋ฐ€์ •๋ณด๊ฐ€ ์ง‘์ค‘๋˜๋Š” ์ง€์ ์ด๊ธฐ ๋•Œ๋ฌธ์—, SSRF ํ•˜๋‚˜๊ฐ€ โ€œ๋‹จ์ผ ์„œ๋น„์Šค ์นจํ•ดโ€๊ฐ€ ์•„๋‹ˆ๋ผย ์กฐ์ง ์ „์ฒด๋กœ ํ™•์‚ฐ๋˜๋Š” ์ดˆ๊ธฐ ์นจํˆฌ ๋ฒกํ„ฐ๋กœ ์ „ํ™˜๋˜๊ธฐ ์‰ฝ๋‹ค.

CISA๋Š” ์ด ์ทจ์•ฝ์ ์ด ์‹ค์ œ ์•…์šฉ ์ค‘์ž„์„ ๊ทผ๊ฑฐ๋กœ KEV์— ์ถ”๊ฐ€ํ–ˆ๋‹ค. ์ฆ‰, ๊ณต๊ฒฉ์ž๋Š” ์ด๋ฏธ ์ž๋™ํ™”๋œ ์Šค์บ๋‹/์ต์Šคํ”Œ๋กœ์ž‡ ์ฒด์ธ์„ ํ™œ์šฉํ•ด ๋ฏธํŒจ์น˜ GitLab ์ธ์Šคํ„ด์Šค๋ฅผ ์ ๊ทน์ ์œผ๋กœ ์ฐพ๊ณ  ์žˆ์œผ๋ฉฐ, ์™ธ๋ถ€ ๋…ธ์ถœ๋œ CI/CD ํ”Œ๋žซํผ์„ ํ†ตํ•ด ๋‚ด๋ถ€ ํ™˜๊ฒฝ์œผ๋กœ ํ”ผ๋ฒ—ํ•˜๋ ค๋Š” ์‹œ๋„๊ฐ€ ์žฌ์ ํ™”๋œ ๊ฒƒ์œผ๋กœ ํ•ด์„๋œ๋‹ค.

๊ณต๊ฒฉ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๋ฐ ์‹œ๋‚˜๋ฆฌ์˜ค

๊ณต๊ฒฉ ๋ฉ”์ปค๋‹ˆ์ฆ˜

๊ณต๊ฒฉ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋‚˜ํƒ€๋‚ธ ์˜ˆ์‹œ ์ด๋ฏธ์ง€

SSRF๋Š” ์‚ฌ์šฉ์ž ์ž…๋ ฅ โ†’ ์„œ๋ฒ„๊ฐ€ ๋Œ€์‹  ์š”์ฒญ โ†’ ์„œ๋ฒ„๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ณณ์„ ๊ณต๊ฒฉ์ž๊ฐ€ ๊ฐ„์ ‘ ์ ‘๊ทผ ์ด๋ผ๋Š” ๋‹จ์ˆœํ•œ ๊ณต๊ฒฉ ๋งค์ปค๋‹ˆ์ฆ˜์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ํ•ต์‹ฌ์€ CI Lint API๊ฐ€ CI ๊ตฌ์„ฑ ๊ฒ€์ฆ ๊ณผ์ •์—์„œย ์‚ฌ์šฉ์ž ์ž…๋ ฅ URL์„ ์ถฉ๋ถ„ํžˆ ๊ฒ€์ฆํ•˜์ง€ ๋ชปํ•˜๊ณ , GitLab ์„œ๋ฒ„๊ฐ€ ํ•ด๋‹น URL๋กœ ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ์ง€๋ฅผ ๋งŒ๋“ ๋‹ค๋Š” ์ ์ด๋‹ค. ์ธ์ฆ์ด ์—†๋Š” ์™ธ๋ถ€ ๊ณต๊ฒฉ์ž๋ผ๋„ ์š”์ฒญ์„ ๊ตฌ์„ฑํ•ด CI Lint API๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ์กฐ๊ฑด์ด ๋งŒ๋“ค์–ด์ง€๋ฉด, ์„œ๋ฒ„๋Š” ๊ณต๊ฒฉ์ž์˜ ์ง€์‹œ์— ๋”ฐ๋ผ ๋‚ด๋ถ€/์™ธ๋ถ€ ์ž์›์œผ๋กœ ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ์ƒ ๊ณต๊ฒฉ ์‹œ๋‚˜๋ฆฌ์˜ค

์˜ˆ์ƒ ๊ณต๊ฒฉ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋‚˜ํƒ€๋‚ธ ์˜ˆ์‹œ ์ด๋ฏธ์ง€
  1. ์™ธ๋ถ€ ๋…ธ์ถœ GitLab ์‹๋ณ„
    ๊ณต๊ฒฉ์ž๋Š” GitLab ๋ฆฌ์†Œ์Šค ํŒจํ„ด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ธํ„ฐ๋„ท ์Šค์บ๋‹์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ์™ธ๋ถ€ ๋…ธ์ถœ ์ธ์Šคํ„ด์Šค๋ฅผ ์ฐพ๋Š”๋‹ค.
  2. CI Lint API๋ฅผ ํ†ตํ•œ SSRF ์ˆ˜ํ–‰
    ์กฐ์ž‘๋œ API ์š”์ฒญ์œผ๋กœ GitLab ์„œ๋ฒ„๊ฐ€ ๊ณต๊ฒฉ์ž ์ง€์ • URL๋กœ ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์œ ๋„ํ•œ๋‹ค.
  3. ๋‚ด๋ถ€ ์ž์› ์ ‘๊ทผ ๋ฐ ์Šค์บ”
    ๋‚ด๋ถ€ IP ์ฃผ์†Œ/ํฌํŠธ๋กœ์˜ ์—ฐ๊ฒฐ ์„ฑ๊ณต ์—ฌ๋ถ€๋ฅผ ํ†ตํ•ด ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ ๋งตํ•‘์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.
  4. ๋ฏผ๊ฐ์ •๋ณด ์œ ์ถœ
    ํด๋ผ์šฐ๋“œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋˜๋Š” ๋‚ด๋ถ€ ์„œ๋น„์Šค ์‘๋‹ต์—์„œ ํ† ํฐ/ํ‚ค/์„ค์ •์ด ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ๋‹ค.
  5. 2์ฐจ ์ทจ์•ฝ์ /์ž๊ฒฉ์ฆ๋ช…์œผ๋กœ ํ™•์‚ฐ
    ์œ ์ถœ๋œ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ, ๋‚ด๋ถ€ API ๋“ฑ์œผ๋กœ์˜ ์ธก๋ฉด ์ด๋™(lateral movement)์„ ์‹œ๋„ํ•œ๋‹ค.

Criminal IP๋ฅผ ํ†ตํ•ด ๊ด€์ธกํ•œ ์™ธ๋ถ€ ๋…ธ์ถœ GitLab ์ธ์Šคํ„ด์Šค ํ˜„ํ™ฉ

์ทจ์•ฝ์  ๋Œ€์‘์€ GitLab์„ ํŒจ์น˜ํ–ˆ๋‹ค๊ณ  ๋ฏฟ์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ํ…Œ์ŠคํŠธ/PoC/๋ถ€์„œ๋ณ„ ์ธ์Šคํ„ด์Šค๊ฐ€ ๋‚จ์•„ ์žˆ๋Š” ์ˆœ๊ฐ„์— ๊ฐ€์žฅ ์–ด๋ ค์›Œ์ง„๋‹ค. ์ธ์Šคํ„ด์Šค ๋‚จ์•„ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ทธ์ค‘ ์ผ๋ถ€๊ฐ€ ์™ธ๋ถ€์— ๊ทธ๋Œ€๋กœ ๋…ธ์ถœ๋˜์–ด ๊ณต๊ฒฉ์ž์—๊ฒŒ ๊ฐ€์žฅ ์‰ฌ์šด ํ‘œ์ ์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋ฒˆ ์ด์Šˆ์˜ ํ•ต์‹ฌ์€ CVE ์กด์žฌ ์—ฌ๋ถ€๊ฐ€ ์•„๋‹ˆ๋ผ, ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ GitLab ์ธ์Šคํ„ด์Šค๊ฐ€ ์–ด๋””์— ์–ผ๋งˆ๋‚˜ ๋‚จ์•„ ์žˆ๋Š”์ง€๋ฅผ ์„ ์ œ์ ์œผ๋กœ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

Criminal IP Asset Search์— title: GitLab์„ ๊ฒ€์ƒ‰ํ•œ ๊ฒฐ๊ณผ

Criminal IP ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ:ย title: GitLab

์ด๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด Criminal IP Asset Search์—์„œ ์œ„์™€ ๊ฐ™์€ ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ๋ฅผ ์ ์šฉํ–ˆ์œผ๋ฉฐ,ย 2026๋…„ 2์›” 6์ผ ๊ธฐ์ค€์œผ๋กœ 71,069๊ฑด์˜ ์ž์‚ฐ์ด ๊ฒ€์ƒ‰๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค.ย ์ด๋Ÿฌํ•œ ์™ธ๋ถ€ ๋…ธ์ถœ GitLab ์ธ์Šคํ„ด์Šค๋Š” CVE-2021-39935์™€ ๊ฐ™์€ ์ธ์ฆ ์ด์ „ ๋‹จ๊ณ„์—์„œ ์•…์šฉ ๊ฐ€๋Šฅํ•œ SSRF ์ทจ์•ฝ์ ์ด ์กด์žฌํ•  ๊ฒฝ์šฐ, ์ฆ‰์‹œ ๊ณต๊ฒฉ ํ‘œ๋ฉด์œผ๋กœ ์ „ํ™˜๋  ์ˆ˜ ์žˆ๋‹ค. ๊ณต๊ฒฉ์ž๋Š” GitLab ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€, ์ •์  ๋ฆฌ์†Œ์Šค, CI ๊ด€๋ จ ์—”๋“œํฌ์ธํŠธ ์‘๋‹ต์„ ํ†ตํ•ด GitLab ๋ฒ„์ „ ๋ฐ ๊ตฌ์„ฑ ์ •๋ณด๋ฅผ ๊ฐ„์ ‘์ ์œผ๋กœ ์ถ”์ •ํ•œ ๋’ค, ๋ฏธํŒจ์น˜ ํ™˜๊ฒฝ์„ ์šฐ์„ ์ ์œผ๋กœ ํ‘œ์ ์œผ๋กœ ์‚ผ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.

Criminal IP Asset Search์— title:โ€GitLabโ€ AND port:443 OR port:80์„ ๊ฒ€์ƒ‰ํ•œ ๊ฒฐ๊ณผ

Criminal IP ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ:ย title:โ€GitLabโ€ AND port:443 OR port:80

์œ„์—์„œ ๋ฐœ๊ฒฌ๋œ GitLab ์ž์‚ฐ ์ค‘,ย GitLab ์›น ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๊ธฐ๋ณธ ์›น ํฌํŠธ(HTTP/HTTPS)๋ฅผ ํ†ตํ•ด ์™ธ๋ถ€์—์„œ ์ง์ ‘ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ๋…ธ์ถœ๋œ ์ž์‚ฐ์„ ์ถ”๊ฐ€๋กœ ์‹๋ณ„ํ–ˆ๋‹ค. ํ•ด๋‹น ์กฐ๊ฑด์„ ์ ์šฉํ•œ ๊ฒฐ๊ณผ, ์ดย 311๊ฑด์˜ ๋…ธ์ถœ ์ž์‚ฐ์ด ํ™•์ธ๋˜์—ˆ์œผ๋ฉฐ, ์ด๋Š” ์ธ์ฆ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ์„œ๋น„์Šค ์กด์žฌ๊ฐ€ ์ฆ‰์‹œ ์‹๋ณ„ ๊ฐ€๋Šฅํ•œ GitLab ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ๋‹น์ˆ˜ ์กด์žฌํ•จ์„ ์˜๋ฏธํ•œ๋‹ค.

Criminal IP Asset Search๋ฅผ ํ†ตํ•ด ์™ธ๋ถ€์— ๋…ธ์ถœ๋œ ํŠน์ • GitLab ์ธ์Šคํ„ด์Šค๋ฅผ ๋ถ„์„ํ•œ ๊ฒฐ๊ณผ

๋˜ํ•œ ํŠน์ • GitLab ์ธ์Šคํ„ด์Šค๋ฅผ ๋ถ„์„ํ•œ ๊ฒฐ๊ณผย 4๊ฐœ์˜ ํฌํŠธ๊ฐ€ ๋™์‹œ์— ์—ด๋ ค ์žˆ์—ˆ์œผ๋ฉฐ, 20๊ฐœ๊ฐ€ ๋„˜๋Š” ์ทจ์•ฝ์ ์ด ํ•จ๊ป˜ ์‹๋ณ„๋˜์—ˆ๋‹ค.ย ์ด๋Š” ํ•ด๋‹น ์ž์‚ฐ์ด ๋‹จ์ผ ์„œ๋น„์Šค ๋…ธ์ถœ์— ๊ทธ์น˜์ง€ ์•Š๊ณ ,ย ์›น ์ธํ„ฐํŽ˜์ด์Šคยท์›๊ฒฉ ์ ‘๊ทผยท๊ด€๋ฆฌ ๊ธฐ๋Šฅ์ด ๋ณตํ•ฉ์ ์œผ๋กœ ์™ธ๋ถ€์— ๋…ธ์ถœ๋œ ์ƒํƒœ์ž„์„ ์˜๋ฏธํ•œ๋‹ค. ์ด์™€ ๊ฐ™์ด ๋‹ค์ˆ˜์˜ ํฌํŠธ์™€ ์ทจ์•ฝ์ ์ด ํ•จ๊ป˜ ๋…ธ์ถœ๋œ ํ™˜๊ฒฝ์—์„œ๋Š”, CVE-2021-39935์™€ ๊ฐ™์€ ์ธ์ฆ ์ด์ „ SSRF ์ทจ์•ฝ์ ์ดย ๋‹จ๋… ๊ณต๊ฒฉ ๋ฒกํ„ฐ๊ฐ€ ์•„๋‹Œ ์ดˆ๊ธฐ ์นจํˆฌ ์ง€์ ์œผ๋กœ ์ž‘์šฉํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค. ๊ณต๊ฒฉ์ž๋Š” SSRF๋ฅผ ํ†ตํ•ด ๋‚ด๋ถ€ ์š”์ฒญ์„ ์œ ๋„ํ•œ ์ดํ›„, ๋™์ผ ์ž์‚ฐ์—ย ๋…ธ์ถœ๋œ SSH(22), ์›น ์„œ๋น„์Šค(80/443), ๊ธฐํƒ€ ์ทจ์•ฝํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์—ฐ์‡„์ ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋ฉฐ ๊ณต๊ฒฉ ๋ฒ”์œ„๋ฅผ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

Criminal IP ๊ด€์ธก ๊ด€์ ์—์„œ ์ค‘์š”ํ•œ ์ ์€,ย ์กฐ์ง ๋‚ด๋ถ€ ์ž์‚ฐ ๋ชฉ๋ก์— ํฌํ•จ๋˜์ง€ ์•Š์€ GitLab ์ธ์Šคํ„ด์Šค๋ผ๋„ ์™ธ๋ถ€์—์„œ ์‘๋‹ต์ด ํ™•์ธ๋˜๋Š” ์ˆœ๊ฐ„ ๊ณต๊ฒฉ์ž์—๊ฒŒ๋Š” ๋™์ผํ•œ โ€˜์™ธ๋ถ€ ์ž์‚ฐโ€™์œผ๋กœ ์ธ์‹๋œ๋‹ค๋Š” ์ ์ด๋‹ค. ํ…Œ์ŠคํŠธ์šฉ, ์ž„์‹œ ํ”„๋กœ์ ํŠธ์šฉ, ๊ณผ๊ฑฐ์— ์‚ฌ์šฉ๋˜๋‹ค ๋ฐฉ์น˜๋œ GitLab ์ธ์Šคํ„ด์Šค๋Š” ์ด๋Ÿฌํ•œ ์ด์œ ๋กœ ๊ณต๊ฒฉ์— ํŠนํžˆ ์ทจ์•ฝํ•œ ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.

๋Œ€์‘ ๋ฐ ๊ถŒ๊ณ  ์‚ฌํ•ญ

CVE-2021-39935๋Š” ์ด๋ฏธ ํŒจ์น˜๊ฐ€ ์ œ๊ณต๋œ ์ทจ์•ฝ์ ์ด์ง€๋งŒ, CISA KEV ๋“ฑ์žฌ๊ฐ€ ์˜๋ฏธํ•˜๋“ฏย ์™ธ๋ถ€์— ๋…ธ์ถœ๋œ ๋ฏธํŒจ์น˜ GitLab ์ธ์Šคํ„ด์Šค๊ฐ€ ์‹ค์ œ ๊ณต๊ฒฉ์— ํ™œ์šฉ๋˜๊ณ  ์žˆ๋Š” ์ƒํ™ฉ์ด๋‹ค. ์ด์— ๋”ฐ๋ผ ๋Œ€์‘์€ ๋‹จ์ˆœํ•œ ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ๋ฅผ ๋„˜์–ด, ์™ธ๋ถ€ ๋…ธ์ถœ ์—ฌ๋ถ€๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ•œ ์ ๊ฒ€์ด ๋ณ‘ํ–‰๋˜์–ด์•ผ ํ•œ๋‹ค.

  • ์ฆ‰๊ฐ์ ์ธ ํŒจ์น˜ ๋ฐ ๋ฒ„์ „ ์ ๊ฒ€
    • ํŒจ์น˜ ๋ฒ„์ „(14.3.6 / 14.4.4 / 14.5.2 ์ด์ƒ)์œผ๋กœ ์ฆ‰์‹œ ์—…๊ทธ๋ ˆ์ด๋“œ
    • ํ…Œ์ŠคํŠธยท๋ฐฑ์—…ยท์ž„์‹œ ์ธ์Šคํ„ด์Šค๊นŒ์ง€ ํฌํ•จํ•ดย ๋ชจ๋“  GitLab ๋ฐฐํฌ ํ™˜๊ฒฝย ์ ๊ฒ€
  • CI Lint API ๋ฐ ๊ด€๋ จ API ์ ‘๊ทผ ํ†ต์ œ
    • ์™ธ๋ถ€ ์‚ฌ์šฉ์ž์—๊ฒŒ CI Lint API ์ ‘๊ทผ์ด ํ•„์š”ํ•œ์ง€ ์žฌ๊ฒ€ํ† 
    • ๋ถˆํ•„์š”ํ•œ API ์—”๋“œํฌ์ธํŠธ๋Š” ๋„คํŠธ์›Œํฌ ๋˜๋Š” ์„ค์ • ์ฐจ์›์—์„œ ์ฐจ๋‹จ
  • ๋กœ๊ทธ ๊ธฐ๋ฐ˜ ์ด์ƒ ํ–‰์œ„ ์ ๊ฒ€
    • ๋‚ด๋ถ€ IPยท๋น„์ •์ƒ URL ๋Œ€์ƒ์œผ๋กœ ํ•œ ์—ฐ๊ฒฐ ์‹œ๋„ ์—ฌ๋ถ€ ์ ๊ฒ€
    • ย ์‹คํŒจํ•œ ์—ฐ๊ฒฐ(ํƒ€์ž„์•„์›ƒ, ๊ฑฐ๋ถ€) ๋กœ๊ทธ ๊ธ‰์ฆ ์—ฌ๋ถ€ ํ™•์ธ
  • ์™ธ๋ถ€ ๋…ธ์ถœ ์ž์‚ฐ ์ง€์† ์ ๊ฒ€
    • Criminal IP Asset Search์™€ ๊ฐ™์€ ์ž์‚ฐ ๊ฒ€์ƒ‰ ๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•ด ์™ธ๋ถ€์—์„œ ์‹๋ณ„ ๊ฐ€๋Šฅํ•œ GitLab ์ธ์Šคํ„ด์Šค ์ƒ์‹œ ์ ๊ฒ€
    • ์‹ ๊ทœ ๋ฐฐํฌยทํ™˜๊ฒฝ ๋ณ€๊ฒฝ ์‹œ ์™ธ๋ถ€ ๋…ธ์ถœ ์—ฌ๋ถ€ ์ž๋™ ์ ๊ฒ€ ํ”„๋กœ์„ธ์Šค ์ˆ˜๋ฆฝ

FAQ

Q1. ์ด๋ฏธ 2021๋…„์— ํŒจ์น˜๋œ ์ทจ์•ฝ์ ์ธ๋ฐ, ์™œ ์ง€๊ธˆ KEV๋กœ ์˜ฌ๋ผ์™”๋‚˜์š”?

CVE-2021-39935๋Š” 2021๋…„์— ํŒจ์น˜๊ฐ€ ์ œ๊ณต๋˜์—ˆ์œผ๋‚˜, ์ดํ›„์—๋„ ํ•ด๋‹น ์ทจ์•ฝ์ ์ด ์ ์šฉ๋˜์ง€ ์•Š์€ GitLab ์ธ์Šคํ„ด์Šค๊ฐ€ ์ธํ„ฐ๋„ท์— ๋…ธ์ถœ๋œ ์ƒํƒœ๋กœ ๋‹ค์ˆ˜ ์กด์žฌํ•ด ์™”์Šต๋‹ˆ๋‹ค. CISA๊ฐ€ KEV์— ์ถ”๊ฐ€ํ•œ ๋ฐฐ๊ฒฝ์€ ์ทจ์•ฝ์ ์˜ ์‹ ๊ทœ์„ฑ ๋•Œ๋ฌธ์ด ์•„๋‹ˆ๋ผ,ย ํ˜„์žฌ ์‹œ์ ์—๋„ ์‹ค์ œ ๊ณต๊ฒฉ์— ์•…์šฉ๋˜๊ณ  ์žˆ์Œ์ด ํ™•์ธ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ GitLab์€ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ, ์ž„์‹œ ํ”„๋กœ์ ํŠธ, ๋ถ€์„œ๋ณ„ ์šด์˜ ์ธ์Šคํ„ด์Šค ๋“ฑ์œผ๋กœ ๋ถ„์‚ฐ ๋ฐฐํฌ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•„, ์ผ๋ถ€ ์ธ์Šคํ„ด์Šค๊ฐ€ ํŒจ์น˜ ๋ฐ ๊ด€๋ฆฌ ๋Œ€์ƒ์—์„œ ๋ˆ„๋ฝ๋˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฏธํŒจ์น˜ยท์™ธ๋ถ€ ๋…ธ์ถœ ํ™˜๊ฒฝ์€ ๊ณต๊ฒฉ์ž์—๊ฒŒ ์†์‰ฌ์šด ํ‘œ์ ์ด ๋˜๋ฉฐ, CISA๋Š” ์ด๋ฅผ ๊ทผ๊ฑฐ๋กœ ๊ธด๊ธ‰ ๋Œ€์‘์ด ํ•„์š”ํ•œ ์ทจ์•ฝ์ ์œผ๋กœ ๋ถ„๋ฅ˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

Q2. ํŒจ์น˜๋งŒ ์ ์šฉํ•˜๋ฉด ์ถฉ๋ถ„ํ•œ๊ฐ€์š”?

ํŒจ์น˜ ์ ์šฉ์€ ํ•„์ˆ˜์ ์ธ ๋Œ€์‘์ด์ง€๋งŒ, ๊ทธ๊ฒƒ๋งŒ์œผ๋กœ ์ถฉ๋ถ„ํ•˜๋‹ค๊ณ  ๋ณด๊ธฐ๋Š” ์–ด๋ ต์Šต๋‹ˆ๋‹ค. CVE-2021-39935๋Š” ์ธ์ฆ ์ด์ „ ๋‹จ๊ณ„์—์„œ ์•…์šฉ ๊ฐ€๋Šฅํ•œ SSRF ์ทจ์•ฝ์ ์œผ๋กœ,ย ์™ธ๋ถ€์— ๋…ธ์ถœ๋œ ์ƒํƒœ ์ž์ฒด๊ฐ€ ๊ณต๊ฒฉ ๊ฐ€๋Šฅ์„ฑ์„ ๊ฒฐ์ •ํ•˜๋Š” ํ•ต์‹ฌ ์š”์†Œ์ž…๋‹ˆ๋‹ค.

ํŒจ์น˜ ์ด์ „์— ์™ธ๋ถ€ ๋…ธ์ถœ๋œ GitLab ์ธ์Šคํ„ด์Šค๊ฐ€ ์กด์žฌํ–ˆ์„ ๊ฒฝ์šฐ, ๊ณต๊ฒฉ์ž๋Š” ์ด๋ฏธ ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ๋ฅผ ํƒ์ƒ‰ํ•˜๊ฑฐ๋‚˜ ๋ฏผ๊ฐ ์ •๋ณด์— ์ ‘๊ทผํ–ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์กฐ์ง์ด ๋ชจ๋“  GitLab ์ธ์Šคํ„ด์Šค๋ฅผ ์ •ํ™•ํžˆ ํŒŒ์•…ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ๋‹ค๋ฉด, ์ผ๋ถ€ ์ž์‚ฐ์€ ํŒจ์น˜ ์ดํ›„์—๋„ ์™ธ๋ถ€์— ๋…ธ์ถœ๋œ ์ƒํƒœ๋กœ ๋‚จ์•„ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํŒจ์น˜์™€ ํ•จ๊ป˜ ์™ธ๋ถ€ ๋…ธ์ถœ ์ž์‚ฐ์„ ์ง€์†์ ์œผ๋กœ ์‹๋ณ„ยท๊ฒ€์ฆํ•˜๋Š” ๊ณต๊ฒฉ ํ‘œ๋ฉด ๊ด€๋ฆฌ(ASM) ๊ด€์ ์˜ ๋Œ€์‘์ด ๋ณ‘ํ–‰๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

CVE-2021-39935๋Š” ์˜ค๋ž˜๋œ GitLab ์ทจ์•ฝ์ ์ด ๋‹ค์‹œ ๋ถ€๊ฐ๋œ ์‚ฌ๋ก€๋ฅผ ๋„˜์–ดย ์™ธ๋ถ€์— ๋…ธ์ถœ๋œ CI/CD ์ธํ”„๋ผ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์‰ฝ๊ฒŒ ์‹ค์ œ ๊ณต๊ฒฉ์œผ๋กœ ์ „ํ™˜๋  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๋Œ€ํ‘œ์ ์ธ ์‚ฌ๋ก€์ด๋‹ค. CISA์˜ KEV ๋“ฑ์žฌ๋Š” ํ•ด๋‹น ์ทจ์•ฝ์ ์ด ์ด๋ก ์  ์œ„ํ—˜์— ๊ทธ์น˜์ง€ ์•Š๊ณ ,ย ํ˜„์žฌ๋„ ์ธํ„ฐ๋„ท์— ๋‚จ์•„ ์žˆ๋Š” ๋ฏธํŒจ์น˜ GitLab ์ธ์Šคํ„ด์Šค๊ฐ€ ์‹ค์งˆ์ ์ธ ๊ณต๊ฒฉ ๋Œ€์ƒ์ด ๋˜๊ณ  ์žˆ์Œ์„ ๋ช…ํ™•ํžˆ ๋ณด์—ฌ์ค€๋‹ค.

์กฐ์ง์€ ๋‹จ์ˆœํžˆ ์ทจ์•ฝํ•œ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋งŒ์„ ํ™•์ธํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ GitLab ์ธ์Šคํ„ด์Šค๊ฐ€ ์–ด๋””์— ์กด์žฌํ•˜๋Š”์ง€๋ฅผ ์ง€์†์ ์œผ๋กœ ์‹๋ณ„ํ•ด์•ผ ํ•˜๋ฉฐ, ํŒจ์น˜ ๋ฐ ์„ค์ • ๋ณ€๊ฒฝ ์ดํ›„์—๋„ ๋…ธ์ถœ ์ƒํƒœ๊ฐ€ ์‹ค์ œ๋กœ ํ•ด์†Œ๋˜์—ˆ๋Š”์ง€๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ๊ฒ€์ฆํ•ด์•ผ ํ•œ๋‹ค.ย ์ทจ์•ฝ์  ์ •๋ณด์™€ ์™ธ๋ถ€ ๊ณต๊ฒฉ ํ‘œ๋ฉด ๊ฐ€์‹œ์„ฑ์„ ๊ฒฐํ•ฉํ•œ ๋Œ€์‘๋งŒ์ด, CVE-2021-39935์™€ ๊ฐ™์€ ์ธ์ฆ ์ด์ „ SSRF ์ทจ์•ฝ์ ์œผ๋กœ๋ถ€ํ„ฐ CI/CD ํ™˜๊ฒฝ์„ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ๋Š” ํ˜„์‹ค์ ์ธ ๋ฐฉ์–ด ์ „๋žต์ด๋‹ค.

๊ด€๋ จํ•˜์—ฌย CVE-2026-24061: GNU Inetutils telnetd ์ธ์ฆ ์šฐํšŒ ์ทจ์•ฝ์  ๋ถ„์„ย ๊ธ€์„ ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๋‹ค.

Criminal IP (criminalip.io/ko/register) ์— ๊ฐ€์ž…ํ•˜๋ฉด ์ฆ‰์‹œ ์ทจ์•ฝ ์ž์‚ฐ ํƒ์ง€๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์•„๋ž˜ ๋ฒ„ํŠผ์„ ํ†ตํ•ด ๋ฐ๋ชจ๋ฅผ ์š”์ฒญํ•˜๊ณ ,ย ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํ™˜๊ฒฝ์—์„œ ์™ธ๋ถ€์— ๋…ธ์ถœ๋œ ์ž์‚ฐ์„ ๋Œ€์ƒ์œผ๋กœ ํ•œ Criminal IP์˜ ์œ„ํ˜‘ ์ธํ…”๋ฆฌ์ „์Šค(TI) ๋ถ„์„์„ ์ง์ ‘ ํ™•์ธํ•ด ๋ณด์„ธ์š”.


์ด ๋ฆฌํฌํŠธ๋Š”ย AI๊ธฐ๋ฐ˜ ์‚ฌ์ด๋ฒ„ ์œ„ํ˜‘ ์ธํ…”๋ฆฌ์ „์Šคย ๊ฒ€์ƒ‰์—”์ง„ย Criminal IP์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.ย ์ง€๊ธˆ ๋ฐ”๋กœย Criminal IP ๋ฌด๋ฃŒ ๊ณ„์ •์„ ์ƒ์„ฑํ•˜๋ฉด ๋ฆฌํฌํŠธ์— ์ธ์šฉ๋œ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ์ง์ ‘ ํ™•์ธํ•˜๊ฑฐ๋‚˜,ย ๋” ๋ฐฉ๋Œ€ํ•œ ์œ„ํ˜‘ ์ธํ…”๋ฆฌ์ „์Šค๋ฅผ ์ž์œ ๋กญ๊ฒŒ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.ย 

๋ฐ์ดํ„ฐ ์ถœ์ฒ˜ : Criminal IP (https://www.criminalip.io/ko), BleepingComputer(https://www.bleepingcomputer.com/news/security/cisa-warns-of-five-year-old-gitlab-flaw-exploited-in-attacks/), CyberSecurityNews (https://cybersecuritynews.com/cisa-warns-gitlab-ssrf-vulnerability-exploit/)

๊ด€๋ จ ๊ธ€ :ย https://www.criminalip.io/ko/knowledge-hub/blog/32538

CVE-2021-39935: GitLab CI Lint API ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ์š”์ฒญ ์œ„์กฐ ์ทจ์•ฝ์  | CIP Blog | Criminal IP