io_uring ํ•˜์œ„ ์‹œ์Šคํ…œ์˜ ๊ถŒํ•œ ์—์Šค์ปฌ๋ ˆ์ด์…˜ ์ทจ์•ฝ์„ฑ

Linux ์ปค๋„ 5.1 ๋ฒ„์ „๋ถ€ํ„ฐ ํฌํ•จ๋œ io_uring ๋น„๋™๊ธฐ I/O ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„์—์„œ ์ทจ์•ฝ์ (CVE-2022-3910)์ด ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ทจ์•ฝ์ ์€ ๊ถŒํ•œ์ด ์—†๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ปค๋„ ๊ถŒํ•œ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” 5.18 ๋ฐ 5.19 ๋ฒ„์ „์—์„œ ๋ฐœ์ƒํ–ˆ์œผ๋ฉฐ 6.0 ๋ฒ„์ „์—์„œ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Debian, RHEL, SUSE๋Š” 5.18 ์ด์ „ ๋ฒ„์ „์˜ ์ปค๋„์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ˜๋ฉด, Fedora, Gentoo, Arch๋Š” ์ด๋ฏธ 6.0 ๋ฒ„์ „์˜ ์ปค๋„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Ubuntu 22.10์€ ์ทจ์•ฝํ•œ 5.19 ์ปค๋„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

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

์ถœ์ฒ˜ : opennet.ru