์›์‹œ ๋ธ”๋ก ์žฅ์น˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” XFS์˜ ์ทจ์•ฝ์ 

๊ถŒํ•œ์ด ์—†๋Š” ๋กœ์ปฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋ธ”๋ก ์žฅ์น˜์—์„œ ์ง์ ‘ ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ๋ธ”๋ก ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•˜๋Š” XFS ํŒŒ์ผ ์‹œ์Šคํ…œ ์ฝ”๋“œ์—์„œ ์ทจ์•ฝ์ (CVE-2021-4155)์ด ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. XFS ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ํฌํ•จ๋œ 5.16 ์ด์ „ Linux ์ปค๋„์˜ ๋ชจ๋“  ์ฃผ์š” ๋ฒ„์ „์ด ์ด ๋ฌธ์ œ์˜ ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ˆ˜์ • ์‚ฌํ•ญ์€ ๋ฒ„์ „ 5.16๊ณผ ์ปค๋„ ์—…๋ฐ์ดํŠธ 5.15.14, 5.10.91, 5.4.171, 4.19.225 ๋“ฑ์— ํฌํ•จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฐํฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ƒ์„ฑ๋˜๋Š” ์—…๋ฐ์ดํŠธ ์ƒํƒœ๋Š” Debian, RHEL, SUSE, Fedora, Ubuntu, Arch ํŽ˜์ด์ง€์—์„œ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ์ทจ์•ฝ์ ์€ ์ปค๋„ ์ „์ฒด fallocate() ์‹œ์Šคํ…œ ํ˜ธ์ถœ๊ณผ ๊ธฐ๋Šฅ์ ์œผ๋กœ ์œ ์‚ฌํ•œ ๋‘ XFS ๊ด€๋ จ ioctl(XFS_IOC_ALLOCSP) ๋ฐ ioctl(XFS_IOC_FREESP)์˜ ์ž˜๋ชป๋œ ๋™์ž‘์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ธ”๋ก ์ •๋ ฌ๋˜์ง€ ์•Š์€ ํŒŒ์ผ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆฌ๋Š” ๊ฒฝ์šฐ ioctls XFS_IOC_ALLOCSP/XFS_IOC_FREESP๋Š” ๋‹ค์Œ ๋ธ”๋ก ๊ฒฝ๊ณ„๊นŒ์ง€ ๊ผฌ๋ฆฌ ๋ฐ”์ดํŠธ๋ฅผ 4096์œผ๋กœ ์žฌ์„ค์ •ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ‘œ์ค€ ๋ธ”๋ก ํฌ๊ธฐ๊ฐ€ 4095๋ฐ”์ดํŠธ์ธ XFS์—์„œ ๊ณต๊ฒฉ์ž๋Š” ๊ฐ ๋ธ”๋ก์—์„œ ์ด์ „์— ๊ธฐ๋ก๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ตœ๋Œ€ XNUMX๋ฐ”์ดํŠธ๊นŒ์ง€ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์˜์—ญ์—๋Š” ์‚ญ์ œ๋œ ํŒŒ์ผ, ์กฐ๊ฐ ๋ชจ์Œ๋œ ํŒŒ์ผ, ์ค‘๋ณต ์ œ๊ฑฐ๋œ ๋ธ”๋ก์ด ์žˆ๋Š” ํŒŒ์ผ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ์ต์Šคํ”Œ๋กœ์ž‡ ํ”„๋กœํ† ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ์˜ ๋ฌธ์ œ๋ฅผ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ์•ˆ๋œ ๋ช…๋ น ์‹œํ€€์Šค๋ฅผ ์‹คํ–‰ํ•œ ํ›„ ์…ฐ์ต์Šคํ”ผ์–ด์˜ ํ…์ŠคํŠธ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค๋ฉด FS ๋“œ๋ผ์ด๋ฒ„๋Š” ์ทจ์•ฝํ•ฉ๋‹ˆ๋‹ค. ๋ฐ๋ชจ๋ฅผ ์œ„ํ•ด ์ฒ˜์Œ์— XFS ํŒŒํ‹ฐ์…˜์„ ๋งˆ์šดํŠธํ•˜๋ ค๋ฉด ๋ฃจํŠธ ๊ถŒํ•œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ioctl(XFS_IOC_ALLOCSP) ๋ฐ ioctl(XFS_IOC_FREESP)์€ ํ‘œ์ค€ fallocate()์™€ ๊ธฐ๋Šฅ๋ฉด์—์„œ ์‹ค์งˆ์ ์œผ๋กœ ๋™์ผํ•˜๊ณ  ์œ ์ผํ•œ ์ฐจ์ด์ ์€ ๋ฐ์ดํ„ฐ ์œ ์ถœ์ด๋ฏ€๋กœ ์ด๋“ค์˜ ์กด์žฌ๋Š” ๋ฐฑ๋„์–ด์™€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ปค๋„์˜ ๊ธฐ์กด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ผ๋ฐ˜์ ์ธ ์ •์ฑ…์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  Linus์˜ ์ œ์•ˆ์— ๋”ฐ๋ผ ๋‹ค์Œ ๋ฒ„์ „์—์„œ๋Š” ์ด๋Ÿฌํ•œ ioctl์„ ์™„์ „ํžˆ ์ œ๊ฑฐํ•˜๊ธฐ๋กœ ๊ฒฐ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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