์ทจ์•ฝ์ ์ด ์ˆ˜์ •๋œ Apache 2.4.41 http ์„œ๋ฒ„ ์ถœ์‹œ

๊ฒŒ์‹œ ๋จ Apache HTTP ์„œ๋ฒ„ 2.4.41 ๋ฆด๋ฆฌ์Šค(๋ฆด๋ฆฌ์Šค 2.4.40์€ ๊ฑด๋„ˆ๋›ฐ์—ˆ์Šต๋‹ˆ๋‹ค) 23๊ฐœ ๋ณ€๊ฒฝ ๊ทธ๋ฆฌ๊ณ  ์ œ๊ฑฐ๋จ 6๊ฐœ์˜ ์ทจ์•ฝ์ :

  • CVE-2019-10081 ๋งค์šฐ ์ดˆ๊ธฐ ๋‹จ๊ณ„์—์„œ ํ‘ธ์‹œ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ์†์ƒ์„ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ๋Š” mod_http2์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. "H2PushResource" ์„ค์ •์„ ์‚ฌ์šฉํ•˜๋ฉด ์š”์ฒญ ์ฒ˜๋ฆฌ ํ’€์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ์ง€๋งŒ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ฐ›์€ ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘์„ฑ๋˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๋Š” ์ถฉ๋Œ๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.
  • CVE-2019-9517 - ์ตœ๊ทผ ๋…ธ์ถœ ๋ฐœํ‘œ HTTP/2 ๊ตฌํ˜„์˜ DoS ์ทจ์•ฝ์ .
    ๊ณต๊ฒฉ์ž๋Š” ์„œ๋ฒ„๊ฐ€ ์ œํ•œ ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ์Šฌ๋ผ์ด๋”ฉ HTTP/2 ์ฐฝ์„ ์—ด๋ฉด์„œ ํ”„๋กœ์„ธ์Šค์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์†Œ์ง„ํ•˜๊ณ  ๊ณผ๋„ํ•œ CPU ๋กœ๋“œ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ TCP ์ฐฝ์€ ๋‹ซํžŒ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์‹ค์ œ๋กœ ์†Œ์ผ“์— ๊ธฐ๋ก๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

  • CVE-2019-10098 - ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ฒญ์„ ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” mod_rewrite์˜ ๋ฌธ์ œ(์˜คํ”ˆ ๋ฆฌ๋””๋ ‰์…˜). ์ผ๋ถ€ mod_rewrite ์„ค์ •์œผ๋กœ ์ธํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ์กด ๋ฆฌ๋””๋ ‰์…˜์— ์‚ฌ์šฉ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋‚ด์˜ ๊ฐœํ–‰ ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฝ”๋”ฉ๋œ ๋‹ค๋ฅธ ๋งํฌ๋กœ ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. RegexDefaultOptions์—์„œ ๋ฌธ์ œ๋ฅผ ์ฐจ๋‹จํ•˜๋ ค๋ฉด ์ด์ œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์ •๋˜๋Š” PCRE_DOTALL ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • CVE-2019-10092 - mod_proxy์— ์˜ํ•ด ํ‘œ์‹œ๋˜๋Š” ์˜ค๋ฅ˜ ํŽ˜์ด์ง€์—์„œ ํฌ๋กœ์Šค ์‚ฌ์ดํŠธ ์Šคํฌ๋ฆฝํŒ…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ. ์ด๋Ÿฌํ•œ ํŽ˜์ด์ง€์˜ ๋งํฌ์—๋Š” ๊ณต๊ฒฉ์ž๊ฐ€ ๋ฌธ์ž ์ด์Šค์ผ€์ดํ”„๋ฅผ ํ†ตํ•ด ์ž„์˜์˜ HTML ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋Š” ์š”์ฒญ์—์„œ ์–ป์€ URL์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • CVE-2019-10097 โ€” PROXY ํ”„๋กœํ† ์ฝœ ํ—ค๋” ์กฐ์ž‘์„ ํ†ตํ•ด ์•…์šฉ๋˜๋Š” mod_remoteip์˜ ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ ๋ฐ NULL ํฌ์ธํ„ฐ ์—ญ์ฐธ์กฐ. ๊ณต๊ฒฉ์€ ์„ค์ •์— ์‚ฌ์šฉ๋œ ํ”„๋ก์‹œ ์„œ๋ฒ„ ์ธก์—์„œ๋งŒ ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์„ ํ†ตํ•ด์„œ๋Š” ์ˆ˜ํ–‰๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • CVE-2019-10082 - ์—ฐ๊ฒฐ์ด ์ข…๋ฃŒ๋˜๋Š” ์ˆœ๊ฐ„ ์ด๋ฏธ ํ•ด์ œ๋œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์—์„œ ์ฝ˜ํ…์ธ  ์ฝ๊ธฐ๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” mod_http2์˜ ์ทจ์•ฝ์ (read-after-free).

๊ฐ€์žฅ ์ฃผ๋ชฉํ• ๋งŒํ•œ ๋น„๋ณด์•ˆ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • mod_proxy_balancer๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ํ”ผ์–ด์˜ XSS/XSRF ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ๋ณดํ˜ธ ๊ธฐ๋Šฅ์„ ํ–ฅ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์„ธ์…˜/์ฟ ํ‚ค ๋งŒ๋ฃŒ ์‹œ๊ฐ„ ์—…๋ฐ์ดํŠธ ๊ฐ„๊ฒฉ์„ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด SessionExpiryUpdateInterval ์„ค์ •์ด mod_session์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋Š” ํŽ˜์ด์ง€๋Š” ํ•ด๋‹น ํŽ˜์ด์ง€์˜ ์š”์ฒญ์—์„œ ์ •๋ณด ํ‘œ์‹œ๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด ์ •๋ฆฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • mod_http2๋Š” ์ด์ „์— HTTP/1.1 ํ—ค๋” ํ•„๋“œ๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐ๋งŒ ์œ ํšจํ–ˆ๋˜ "LimitRequestFieldSize" ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.
  • BalancerMember์—์„œ ์‚ฌ์šฉ๋  ๋•Œ mod_proxy_hcheck ๊ตฌ์„ฑ์ด ์ƒ์„ฑ๋˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  • ๋Œ€๊ทœ๋ชจ ์ปฌ๋ ‰์…˜์—์„œ PROPFIND ๋ช…๋ น์„ ์‚ฌ์šฉํ•  ๋•Œ mod_dav์˜ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๊ฐ€ ๊ฐ์†Œํ–ˆ์Šต๋‹ˆ๋‹ค.
  • mod_proxy ๋ฐ mod_ssl์—์„œ ํ”„๋ก์‹œ ๋ธ”๋ก ๋‚ด๋ถ€์˜ ์ธ์ฆ์„œ ๋ฐ SSL ์„ค์ • ์ง€์ •๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • mod_proxy๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด SSLProxyCheckPeer* ์„ค์ •์„ ๋ชจ๋“  ํ”„๋ก์‹œ ๋ชจ๋“ˆ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ชจ๋“ˆ ๊ธฐ๋Šฅ ํ™•์žฅ mod_md, ์— ์˜ํ•ด ๊ฐœ๋ฐœ ๋œ ACME(์ž๋™ ์ธ์ฆ์„œ ๊ด€๋ฆฌ ํ™˜๊ฒฝ) ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ์„œ ์ˆ˜์‹  ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” Let's Encrypt ํ”„๋กœ์ ํŠธ:
    • ํ”„๋กœํ† ์ฝœ์˜ ๋‘ ๋ฒˆ์งธ ๋ฒ„์ „์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ACMEv2, ์ด๋Š” ์ด์ œ ๊ธฐ๋ณธ๊ฐ’์ด๋ฉฐ ะธัะฟะพะปัŒะทัƒะตั‚ GET ๋Œ€์‹  ๋นˆ POST ์š”์ฒญ.
    • HTTP/01์—์„œ ์‚ฌ์šฉ๋˜๋Š” TLS-ALPN-7301 ํ™•์žฅ(RFC 2, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ ํ˜‘์ƒ)์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฒ€์ฆ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • 'tls-sni-01' ํ™•์ธ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ทจ์•ฝ์ ).
    • 'dns-01' ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์‚ฌ๋ฅผ ์„ค์ •ํ•˜๊ณ  ์ค‘๋‹จํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์ถ”๊ฐ€ ์ง€์› ๋งˆ์Šคํฌ DNS ๊ธฐ๋ฐ˜ ํ™•์ธ์ด ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ ์ธ์ฆ์„œ('dns-01').
    • 'md-status' ์ฒ˜๋ฆฌ๊ธฐ์™€ ์ธ์ฆ์„œ ์ƒํƒœ ํŽ˜์ด์ง€ 'https://domain/.httpd/certificate-status'๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ์ •์  ํŒŒ์ผ์„ ํ†ตํ•ด ๋„๋ฉ”์ธ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ "MDCertificateFile" ๋ฐ "MDCertificateKeyFile" ์ง€์‹œ๋ฌธ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค(์ž๋™ ์—…๋ฐ์ดํŠธ ์ง€์› ์—†์Œ).
    • '๊ฐฑ์‹ ', '๋งŒ๋ฃŒ' ๋˜๋Š” '์˜ค๋ฅ˜' ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ์™ธ๋ถ€ ๋ช…๋ น์„ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•œ "MDMessageCmd" ์ง€์‹œ๋ฌธ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ์ธ์ฆ์„œ ๋งŒ๋ฃŒ์— ๋Œ€ํ•œ ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด "MDWarnWindow" ์ง€์‹œ๋ฌธ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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