Rest-client ์™ธ 10๊ฐœ Ruby ํŒจํ‚ค์ง€์—์„œ ์•…์„ฑ์ฝ”๋“œ ๋ฐœ๊ฒฌ

์ธ๊ธฐ์˜ ์ผํ’ˆ ํŒจํ‚ค์ง€์— ํœด์‹ ํด๋ผ์ด์–ธํŠธ, ์ด 113์–ต XNUMX๋งŒ ๋‹ค์šด๋กœ๋“œ๋ฅผ ๊ธฐ๋กํ–ˆ์œผ๋ฉฐ, ํ™•์ธ๋จ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ช…๋ น์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์™ธ๋ถ€ ํ˜ธ์ŠคํŠธ๋กœ ์ •๋ณด๋ฅผ ๋ณด๋‚ด๋Š” ์•…์„ฑ์ฝ”๋“œ(CVE-2019-15224)๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์€ ๋‹ค์Œ์„ ํ†ตํ•ด ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํƒ€ํ˜‘ rubygems.org ์ €์žฅ์†Œ์˜ ๊ฐœ๋ฐœ์ž ๊ณ„์ • Rest-client. ๊ณต๊ฒฉ์ž๋Š” 13์›” 14์ผ๊ณผ 1.6.10์ผ์— ์•…์˜์ ์ธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํฌํ•จ๋œ ๋ฆด๋ฆฌ์Šค 1.6.13-XNUMX์„ ๊ฒŒ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ์•…์„ฑ ๋ฒ„์ „์ด ์ฐจ๋‹จ๋˜๊ธฐ ์ „์— ์•ฝ ์ฒœ ๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ํ•ด๋‹น ๋ฒ„์ „์„ ๋‹ค์šด๋กœ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค(๊ณต๊ฒฉ์ž๋Š” ๊ด€์‹ฌ์„ ๋Œ์ง€ ์•Š๊ธฐ ์œ„ํ•ด ์ด์ „ ๋ฒ„์ „์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋ฅผ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค).

์•…์˜์ ์ธ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด ํด๋ž˜์Šค์˜ "#authenticate" ๋ฉ”์„œ๋“œ๊ฐ€ ์žฌ์ •์˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
ID๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ๋กœ ์ธํ•ด ์ธ์ฆ ์‹œ๋„ ์ค‘์— ์ด๋ฉ”์ผ๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๊ณต๊ฒฉ์ž์˜ ํ˜ธ์ŠคํŠธ๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ Identity ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์ทจ์•ฝํ•œ ๋ฒ„์ „์˜ Rest-client ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•˜๋Š” ์„œ๋น„์Šค ์‚ฌ์šฉ์ž์˜ ๋กœ๊ทธ์ธ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๊ฐ€๋กœ์ฑ„์–ด์ง‘๋‹ˆ๋‹ค. ํŠน์ง‘ ast(64๋งŒ ๋‹ค์šด๋กœ๋“œ), oauth(32๋งŒ), fastlane(18๋งŒ) ๋ฐ kubeclient(3.7๋งŒ)๋ฅผ ํฌํ•จํ•œ ๋งŽ์€ ์ธ๊ธฐ Ruby ํŒจํ‚ค์ง€์˜ ์ข…์†์„ฑ์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ ์ฝ”๋“œ์— ๋ฐฑ๋„์–ด๊ฐ€ ์ถ”๊ฐ€๋˜์–ด eval ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์ž„์˜์˜ Ruby ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์ฝ”๋“œ๋Š” ๊ณต๊ฒฉ์ž์˜ ํ‚ค๋กœ ์ธ์ฆ๋œ ์ฟ ํ‚ค๋ฅผ ํ†ตํ•ด ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž์—๊ฒŒ ์™ธ๋ถ€ ํ˜ธ์ŠคํŠธ์— ์•…์„ฑ ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜๋˜์—ˆ์Œ์„ ์•Œ๋ฆฌ๊ธฐ ์œ„ํ•ด ํ”ผํ•ด์ž ์‹œ์Šคํ…œ์˜ URL๊ณผ DBMS ๋ฐ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์— ์ €์žฅ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋“ฑ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ์„ ํƒ ์ •๋ณด๊ฐ€ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ์•…์„ฑ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธํ™”ํ ์ฑ„๊ตด์„ ์œ„ํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๋ ค๋Š” ์‹œ๋„๊ฐ€ ๊ธฐ๋ก๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์•…์„ฑ์ฝ”๋“œ๋ฅผ ์—ฐ๊ตฌํ•œ ๊ฒฐ๊ณผ, ์‹๋ณ„๋น„์Šทํ•œ ๋ณ€ํ™”๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ 10๊ฐœ ํŒจํ‚ค์ง€ ์บก์ฒ˜๋˜์ง€๋Š” ์•Š์•˜์ง€๋งŒ ์œ ์‚ฌํ•œ ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋‹ค๋ฅธ ์ธ๊ธฐ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ณต๊ฒฉ์ž๊ฐ€ ํŠน๋ณ„ํžˆ ์ค€๋น„ํ•œ Ruby Gems์—์„œ๋Š” ๋Œ€์‹œ๊ฐ€ ๋ฐ‘์ค„๋กœ ๋Œ€์ฒด๋˜๊ฑฐ๋‚˜ ๊ทธ ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค(์˜ˆ: ํฌ๋ก  ํŒŒ์„œ ์•…์„ฑ ํŒจํ‚ค์ง€ cron_parser๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์œผ๋ฉฐ ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ doge_coin ์•…์„ฑ doge-coin ํŒจํ‚ค์ง€). ๋ฌธ์ œ ํŒจํ‚ค์ง€:

์ด ๋ชฉ๋ก์˜ ์ฒซ ๋ฒˆ์งธ ์•…์„ฑ ํŒจํ‚ค์ง€๋Š” 12์›” 2500์ผ์— ๊ฒŒ์‹œ๋˜์—ˆ์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์€ XNUMX์›”์— ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ „์ฒด์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ํŒจํ‚ค์ง€๋Š” ์•ฝ XNUMX๋ฒˆ ๋‹ค์šด๋กœ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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