Node.js http2 ๋ชจ๋“ˆ์˜ ์ทจ์•ฝ์ 

์„œ๋ฒ„ ์ธก JavaScript ํ”Œ๋žซํผ Node.js ๊ฐœ๋ฐœ์ž๋Š” http12.22.4 ๋ชจ๋“ˆ(HTTP/14.17.4 ํด๋ผ์ด์–ธํŠธ)์˜ ์ทจ์•ฝ์ (CVE-16.6.0-2021)์„ ๋ถ€๋ถ„์ ์œผ๋กœ ์ˆ˜์ •ํ•˜๋Š” ์ˆ˜์ • ๋ฆด๋ฆฌ์Šค 22930, 2 ๋ฐ 2.0์„ ๊ฒŒ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. , ๊ณต๊ฒฉ์ž๊ฐ€ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹ํ˜ธ์ŠคํŠธ์— ์•ก์„ธ์Šคํ•  ๋•Œ ํ”„๋กœ์„ธ์Šค ์ถฉ๋Œ์„ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ์‹œ์Šคํ…œ์—์„œ ์ฝ”๋“œ ์‹คํ–‰์„ ์ž ์žฌ์ ์œผ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์“ฐ๊ธฐ๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ์ง‘์ค‘์ ์ธ ์ฝ๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์Šค๋ ˆ๋“œ์— ๋Œ€ํ•ด RST_STREAM(์Šค๋ ˆ๋“œ ์žฌ์„ค์ •) ํ”„๋ ˆ์ž„์„ ์ˆ˜์‹ ํ•œ ํ›„ ์—ฐ๊ฒฐ์„ ๋‹ซ์„ ๋•Œ ์ด๋ฏธ ํ•ด์ œ๋œ ๋ฉ”๋ชจ๋ฆฌ์— ์•ก์„ธ์Šคํ•˜์—ฌ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋ฅ˜ ์ฝ”๋“œ๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š๊ณ  RST_STREAM ํ”„๋ ˆ์ž„์ด ์ˆ˜์‹ ๋˜๋ฉด http2 ๋ชจ๋“ˆ์€ ์ด๋ฏธ ์ˆ˜์‹ ๋œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ •๋ฆฌ ์ ˆ์ฐจ๋ฅผ ์ถ”๊ฐ€๋กœ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ˆ์ฐจ์—์„œ ์ด๋ฏธ ๋‹ซํžŒ ์ŠคํŠธ๋ฆผ์— ๋Œ€ํ•ด ํด๋กœ์ € ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ๋‹ค์‹œ ํ˜ธ์ถœ๋˜์–ด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ์ด์ค‘์œผ๋กœ ํ•ด์ œ๋ฉ๋‹ˆ๋‹ค.

ํŒจ์น˜ ํ† ๋ก ์—์„œ๋Š” ๋ฌธ์ œ๊ฐ€ ์™„์ „ํžˆ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ ์•ฝ๊ฐ„ ์ˆ˜์ •๋œ ์กฐ๊ฑด์—์„œ๋„ ๊ฒŒ์‹œ๋œ ์—…๋ฐ์ดํŠธ์— ๊ณ„์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๋ถ„์„์— ๋”ฐ๋ฅด๋ฉด ์ˆ˜์ • ์‚ฌํ•ญ์€ ์Šค๋ ˆ๋“œ๊ฐ€ ์ฝ๊ธฐ ๋ชจ๋“œ์— ์žˆ์ง€๋งŒ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ ์ƒํƒœ(์ฝ๊ธฐ ๋ฐ ์ผ์‹œ ์ค‘์ง€, ์ผ์‹œ ์ค‘์ง€ ๋ฐ ์ผ๋ถ€ ์“ฐ๊ธฐ ์œ ํ˜•)๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š” ํŠน์ˆ˜ํ•œ ๊ฒฝ์šฐ ์ค‘ ํ•˜๋‚˜๋งŒ ์ ์šฉ๋˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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