์ทจ์•ฝ์ ์ด ์ˆ˜์ •๋œ PostgreSQL ์—…๋ฐ์ดํŠธ

์ง€์›๋˜๋Š” ๋ชจ๋“  PostgreSQL ๋ถ„๊ธฐ(13.3, 12.7, 11.12, 10.17 ๋ฐ 9.6.22)์— ๋Œ€ํ•œ ์ˆ˜์ • ์—…๋ฐ์ดํŠธ๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ถ„๊ธฐ 9.6์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋Š” 2021๋…„ 10์›”๊นŒ์ง€, 2022์ผ์€ 11๋…„ 2023์›”, 12์ผ์€ 2024๋…„ 13์›”, 2025์ผ์€ XNUMX๋…„ XNUMX์›”, XNUMX์ผ์€ XNUMX๋…„ XNUMX์›”๊นŒ์ง€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์„ธ ๊ฐ€์ง€ ์ทจ์•ฝ์ ์„ ์ œ๊ฑฐํ•˜๊ณ  ๋ˆ„์ ๋œ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

์ทจ์•ฝ์  CVE-2021-32027๋กœ ์ธํ•ด ๋ฐฐ์—ด ์ธ๋ฑ์Šค ๊ณ„์‚ฐ ์ค‘ ์ •์ˆ˜ ์˜ค๋ฒ„ํ”Œ๋กœ๋กœ ์ธํ•ด ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ ๋ฒ„ํผ ์“ฐ๊ธฐ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SQL ์ฟผ๋ฆฌ์˜ ๋ฐฐ์—ด ๊ฐ’์„ ์กฐ์ž‘ํ•จ์œผ๋กœ์จ SQL ์ฟผ๋ฆฌ ์‹คํ–‰ ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ณต๊ฒฉ์ž๋Š” ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ์˜ ์ž„์˜ ์˜์—ญ์— ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์“ธ ์ˆ˜ ์žˆ์œผ๋ฉฐ DBMS ์„œ๋ฒ„ ๊ถŒํ•œ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋‘ ๊ฐ€์ง€ ์ทจ์•ฝ์ (CVE-2021-32028, CVE-2021-32029)์€ "INSERT ... ON CONFLICT ... DO UPDATE" ๋ฐ "UPDATE ... RETURNING" ์š”์ฒญ์„ ์กฐ์ž‘ํ•  ๋•Œ ํ”„๋กœ์„ธ์Šค ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์šฉ์˜ ์œ ์ถœ์„ ์ดˆ๋ž˜ํ•ฉ๋‹ˆ๋‹ค.

๋น„์ทจ์•ฝ์„ฑ ์ˆ˜์ •์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

  • ์กฐ์ธ๋œ ์ƒค๋”ฉ๋œ ํ…Œ์ด๋ธ”์„ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด "UPDATE...RETURNING"์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์ž˜๋ชป๋œ ๊ณ„์‚ฐ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
  • ๋ถ„ํ• ๋œ ํ…Œ์ด๋ธ” ์‚ฌ์šฉ๊ณผ ๊ฒฐํ•ฉํ•˜์—ฌ ์™ธ๋ž˜ ํ‚ค ์ œ์•ฝ ์กฐ๊ฑด์ด ์žˆ๋Š” ๊ฒฝ์šฐ "ALTER TABLE ... ALTER CONSTRAINT" ๋ช…๋ น ์‹คํŒจ๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.
  • "COMMIT AND CHAIN" ๊ธฐ๋Šฅ์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • FreeBSD์˜ ์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์ด์ œ fdatasync ๋ชจ๋“œ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ thatwal_sync_method๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
  • Vacuum_cleanup_index_scale_factor ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • TLS ์—ฐ๊ฒฐ์„ ์ดˆ๊ธฐํ™”ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์—…๊ทธ๋ ˆ์ด๋“œํ•  ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ ์œ ํ˜•์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด pg_upgrade์— ์ถ”๊ฐ€ ๊ฒ€์‚ฌ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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