๊ถํ์ด ์๋ ๋ก์ปฌ ์ฌ์ฉ์๊ฐ ๋ธ๋ก ์ฅ์น์์ ์ง์ ์ฌ์ฉ๋์ง ์์ ๋ธ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์๋๋ก ํ์ฉํ๋ 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