ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ e2fsck์˜ ์ทจ์•ฝ์ 

ํŒจํ‚ค์ง€์˜ ์ผ๋ถ€๋กœ ์ œ๊ณต๋˜๋Š” e2fsck ์œ ํ‹ธ๋ฆฌํ‹ฐ์—์„œ e2fsprogs, ํ™•์ธ๋จ ์ทจ์•ฝ์  (CVE-2019-5188), ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ํ™•์ธํ•  ๋•Œ ๊ณต๊ฒฉ์ž์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ทจ์•ฝ์ ์€ ๋ฆด๋ฆฌ์Šค 1.43.3~1.45.4์—์„œ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ๋กœ ์ทจ์•ฝ์  ์ˆ˜์ • e2fsck 1.45.5. ๋ฐฐํฌ ํ‚คํŠธ์—์„œ๋Š” ๋ฌธ์ œ๊ฐ€ ์—ฌ์ „ํžˆ ์ˆ˜์ •๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค(๋ฐ๋น„์•ˆ, ์•„์น˜ ๋ฆฌ๋ˆ…์Šค, ์ˆ˜์„ธ/์˜คํ”ˆ์ˆ˜์„ธ, Ubuntu, RHEL).

์ด ์ทจ์•ฝ์ ์€ ๋””๋ ‰ํ† ๋ฆฌ์™€ ๊ด€๋ จ๋œ ํ•ด์‹œ ํ…Œ์ด๋ธ”์„ ๋‹ค์‹œ ์ž‘์„ฑํ•˜์—ฌ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ชจ๋“  ํŒŒ์ผ์ด ๋””๋ ‰ํ† ๋ฆฌ์™€ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” rehash.c ํŒŒ์ผ์˜ mutate_name() ํ•จ์ˆ˜ ์˜ค๋ฅ˜๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋””๋ ‰ํ„ฐ๋ฆฌ์™€ ๊ด€๋ จ๋œ hash_entry ๊ตฌ์กฐ๊ฐ€ ์†์ƒ๋˜๋ฉด ๊ณต๊ฒฉ์ž๊ฐ€ ํ• ๋‹น๋œ ๋ฒ„ํผ ์™ธ๋ถ€ ์˜์—ญ์— ๋ฐ์ดํ„ฐ๋ฅผ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ์ด๋ฆ„์„ ๊ฐ€์ง„ ์—ฌ๋Ÿฌ ํŒŒ์ผ์ด ํ•ด์‹œ ํ…Œ์ด๋ธ”์—์„œ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์—ฐ๊ฒฐ๋œ ๊ฒƒ์œผ๋กœ ์‹๋ณ„๋˜๋ฉด e2fsck ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ์ด๋ฆ„์— ~0, ~1 ๋“ฑ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ค‘๋ณต ํŒŒ์ผ์˜ ์ด๋ฆ„์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ด๋ฆ„ ๋ณ€๊ฒฝ ์ค‘์— ์ƒˆ ์ด๋ฆ„์„ ์ž„์‹œ๋กœ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด 256๋ฐ”์ดํŠธ ํฌ๊ธฐ์˜ ๋ฒ„ํผ๊ฐ€ ์Šคํƒ์— ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค.

๋ณต์‚ฌํ•  ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๋Š” "entry->name_len & 0xff" ํ‘œํ˜„์‹์— ์˜ํ•ด ๊ฒฐ์ •๋˜์ง€๋งŒ, Entry->name_len์˜ ๊ฐ’์€ ์ด๋ฆ„์˜ ์‹ค์ œ ํฌ๊ธฐ์—์„œ ๊ณ„์‚ฐ๋˜์ง€ ์•Š๊ณ  ๋””์Šคํฌ์˜ ๊ตฌ์กฐ์—์„œ ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค. ํฌ๊ธฐ๊ฐ€ 1์ด๋ฉด ๋ฐฐ์—ด ์ธ๋ฑ์Šค๋Š” -0 ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ ๋ฒ„ํผ์˜ ํ•˜์œ„ ๊ฒฝ๊ณ„๋ฅผ ํ†ตํ•œ ์ •์ˆ˜ ์˜ค๋ฒ„ํ”Œ๋กœ(์ •์ˆ˜ ์–ธ๋”ํ”Œ๋กœ) ๋ฐ ์Šคํƒ์˜ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฅผ "~64" ๊ฐ’์œผ๋กœ ๋ฎ์–ด์“ฐ๋Š” ์กฐ๊ฑด์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. 32๋น„ํŠธ ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ ์ทจ์•ฝ์  ์•…์šฉ ๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ์€ ๊ฒƒ์œผ๋กœ ํ‰๊ฐ€๋˜๋ฉฐ ์Šคํƒ ํฌ๊ธฐ์— ๋Œ€ํ•œ ์ œํ•œ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(ulimit -s unlimited). XNUMX๋น„ํŠธ ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ ์•…์šฉ์ด ๊ฐ€๋Šฅํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜์ง€๋งŒ ๊ฒฐ๊ณผ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ์‹คํ–‰ ํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋”ฐ๋ผ ํฌ๊ฒŒ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

๊ณต๊ฒฉ์„ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ๊ณต๊ฒฉ์ž๋Š” ext2, ext3 ๋˜๋Š” ext4 ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ์žˆ๋Š” ํŒŒํ‹ฐ์…˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํŠน์ • ๋ฐฉ์‹์œผ๋กœ ์†์ƒ์‹œ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ž‘์—…์—๋Š” ์Šˆํผ์œ ์ € ๊ถŒํ•œ์ด ํ•„์š”ํ•˜๋ฏ€๋กœ e2fsck ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์™ธ๋ถ€ ๋“œ๋ผ์ด๋ธŒ ๋˜๋Š” ์™ธ๋ถ€์—์„œ ์ˆ˜์‹ ๋œ FS ์ด๋ฏธ์ง€๋ฅผ ์Šค์บ”ํ•  ๋•Œ ์ทจ์•ฝ์ ์ด ์œ„ํ˜‘์ด ๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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