์ทจ์•ฝ์  ์ˆ˜์ • ์‚ฌํ•ญ์ด ํฌํ•จ๋œ Nginx 1.31.7 ๋ฐ NJS 1.0.2 ์—…๋ฐ์ดํŠธ

์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์ด ๊ณ„์† ์ง„ํ–‰๋˜๋Š” ๋ฉ”์ธ nginx 1.31.7 ๋ธŒ๋žœ์น˜๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ฌ๊ฐํ•œ ๋ฒ„๊ทธ ๋ฐ ์ทจ์•ฝ์  ์ˆ˜์ •๊ณผ ๊ด€๋ จ๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋งŒ ํฌํ•จ๋œ ๋ณ‘๋ ฌ ์•ˆ์ • ๋ฒ„์ „์ธ nginx 1.30.6๋„ ํ•จ๊ป˜ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ์—…๋ฐ์ดํŠธ๋Š” ๋‹ค์Œ ๋‹ค์„ฏ ๊ฐ€์ง€ ์ทจ์•ฝ์ ์„ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

  • CVE-2026-15176 - ์‚ฌ์šฉ ์‹œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
    ๊ตฌ์„ฑ์—์„œ ์š”์ฒญ URI๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” "alias" ์ง€์‹œ๋ฌธ
    "์žฌ์ž‘์„ฑ" ํ›„ ํ•ด๋‹น ํŒŒ์ผ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•ฉ๋‹ˆ๋‹ค.
  • CVE-2026-93479 - ๋ณ€์ˆ˜๋ฅผ ํฌํ•จํ•˜๋Š” ๋ฌธ์ž์—ด ํ‘œํ˜„์‹์„ ์‹คํ–‰ํ•  ๋•Œ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉฐ, ๋ฃจํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ๊ณ„์‚ฐํ•˜๊ฑฐ๋‚˜ http ๋ฐ stream ๋ชจ๋“ˆ์—์„œ ์š”์ฒญ์„ ๋กœ๊น…ํ•  ๋•Œ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
  • CVE-2026-95101 โ€” HTTP/3์—์„œ ์ž˜๋ชป๋œ ํ˜•์‹์˜ ํ”„๋ ˆ์ž„์„ ์ „์†กํ•˜์—ฌ "client_max_body_size" ์ œํ•œ์„ ์šฐํšŒํ•˜๊ณ  ํ”„๋ก์‹œ๋œ ์š”์ฒญ์— ํƒ€์‚ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ์ทจ์•ฝ์ ์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋ ˆ์ž„์˜ ์ผ๋ถ€ ๋‚ด์šฉ์€ ์š”์ฒญ ๋ณธ๋ฌธ์œผ๋กœ ์ฒ˜๋ฆฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • CVE-2026-97629 - ์„ธ์…˜ ํ‚ค ์ˆœํ™˜ ์ค‘์— ์„ธ์…˜ ํ‚ค ์ค‘ ํ•˜๋‚˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋‘๋ฉด TLS ์„ธ์…˜ ์Šคํ‘ธํ•‘์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • CVE-2026-97205 - ๋น„๋™๊ธฐ I/O(AIO)์™€ ํ•จ๊ป˜ SSI ํŽ˜์ด์ง€์—์„œ "include virtual" ๋ช…๋ น์„ ์‚ฌ์šฉํ•  ๋•Œ use-after-free ์ทจ์•ฝ์ ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

Nginx 1.31.7์˜ ์ทจ์•ฝ์  ๊ด€๋ จ ์™ธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ:

  • ngx_http_geoip_module ๋ฐ ngx_stream_geoip_module ๋ชจ๋“ˆ์— MaxMind(MMDB) ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • IP ์ฃผ์†Œ๋กœ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. SSL ์ธ์ฆ์„œ๋ฐฑ์—”๋“œ์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ์„ค์ •์—์„œ quic_bpf ์ง€์‹œ๋ฌธ์„ ์‚ฌ์šฉํ•  ๋•Œ ์‹คํ–‰ ํŒŒ์ผ์„ ์žฌ๊ตฌ์„ฑํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ngx_http_v2_module ๋ชจ๋“ˆ์€ RFC 9218์„ ์ค€์ˆ˜ํ•˜๋Š” ์šฐ์„ ์ˆœ์œ„ ์ฒด๊ณ„๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

Nginx HTTP ์„œ๋ฒ„์— JavaScript ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ํ†ตํ•ฉํ•˜๋Š” ๋ชจ๋“ˆ์ธ Njs 1.0.2์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Njs๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์„ค์ • ํŒŒ์ผ์—์„œ JavaScript ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ Nginx์˜ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ๊ณ ๊ธ‰ ์š”์ฒญ ์ฒ˜๋ฆฌ ๋กœ์ง์„ ์ •์˜ํ•˜๊ฑฐ๋‚˜, ์„ค์ •์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜, ์‘๋‹ต์„ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜, ์š”์ฒญ/์‘๋‹ต์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์Šคํ…์„ ์‹ ์†ํ•˜๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” C ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ BSD ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

NJS 1.0.2๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ทจ์•ฝ์ ์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. ํ˜•์‹์ด ์ž˜๋ชป๋œ XML ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์‹ฑํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ ๋ฌธ์ œ(CVE-2026-101025)์™€ XML ์†์„ฑ ์กฐ์ž‘์œผ๋กœ ์ธํ•œ ์„œ๋ช…๋œ XML ๋ฌธ์„œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์œ„๋ฐ˜ ๋ฌธ์ œ(CVE-2026-101019)๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. XMLNode.getAttributeNS() ๋ฐ XMLNode.getChildNS() ๋ฉ”์„œ๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. NJS ์—”์ง„ ์ปดํŒŒ์ผ ์‹œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๊ฐ์†Œํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster