2022๋…„ 5์›” 20์ผยท1๋ถ„ ์ฝ๊ธฐ

Strapi CMS์—์„œ ๋ฐœ๊ฒฌ๋œ ์ค‘์š”ํ•œ JSON ์ทจ์•ฝ์ , ๋ฐ์ดํ„ฐ ๋ณด์•ˆ์— ๋Œ€ํ•œ ์ž ์žฌ์  ์œ„ํ˜‘

Synopsys ์‚ฌ์ด๋ฒ„ ๋ณด์•ˆ ์—ฐ๊ตฌ ์„ผํ„ฐ๋Š” ์˜คํ”ˆ ์†Œ์Šค Node.js ํ—ค๋“œ๋ฆฌ์Šค CMS Strapi์—์„œ ์ž ์žฌ์ ์œผ๋กœ ๊ด€๋ฆฌ์ž ํŒจ๋„ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ ๋„์šฉ ๋ฐ ๊ณ„์ • ์†์ƒ์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋Š” ๋‘ ๊ฐ€์ง€ ์ค‘์š”ํ•œ JSON ์ทจ์•ฝ์ ์„ ์‹๋ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค.

Strapi CMS์—์„œ ๋ฐœ๊ฒฌ๋œ ์ค‘์š”ํ•œ JSON ์ทจ์•ฝ์ , ๋ฐ์ดํ„ฐ ๋ณด์•ˆ์— ๋Œ€ํ•œ ์ž ์žฌ์  ์œ„ํ˜‘

Synopsys Cybersecurity Research Center๋Š” ์ตœ๊ทผ JSON์—์„œ ์˜คํ”ˆ ์†Œ์Šค Node.js ํ—ค๋“œ๋ฆฌ์Šค ์ฝ˜ํ…์ธ  ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(CMS) Strapi ์—์„œ ๋ฐ์ดํ„ฐ ๋ณด์•ˆ ๋ฐ ์‚ฌ์šฉ์ž ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ์— ์‹ฌ๊ฐํ•œ ์œ„ํ—˜์„ ์ดˆ๋ž˜ํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ์น˜๋ช…์ ์ธ ์ทจ์•ฝ์ ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

CVE-2022-30617 ๋ฐ CVE-2022-30618๋กœ ์ง€์ •๋œ ์ด๋Ÿฌํ•œ ์ทจ์•ฝ์ ์€ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ ๋…ธ์ถœ ์œ„ํ—˜์œผ๋กœ ๋ถ„๋ฅ˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ์ž ์žฌ์ ์œผ๋กœ Strapi ์˜ ๊ด€๋ฆฌ์ž ํŒจ๋„์—์„œ ๊ณ„์ • ์†์ƒ์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Strapi ๋Š” JavaScript๋กœ ๊ฐœ๋ฐœ๋œ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ํ—ค๋“œ๋ฆฌ์Šค CMS ์†Œํ”„ํŠธ์›จ์–ด๋กœ, ์‚ฌ์šฉ์ž๊ฐ€ API(์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค)๋ฅผ ๋น ๋ฅด๊ฒŒ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž ํŒจ๋„์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ฝ˜ํ…์ธ  ์œ ํ˜•์„ ๊ด€๋ฆฌํ•˜๊ณ  API๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” ์›น ๊ธฐ๋ฐ˜ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.

์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋ฒ„์ „์—๋Š” ์ตœ๋Œ€ v3.6.9๊นŒ์ง€์˜ Strapi v3 ๋ฐ ์ตœ๋Œ€ v4.0.0-beta.15์˜ Strapi v4 ๋ฒ ํƒ€ ๋ฒ„์ „์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. CVE-2022-30617์€ ๊ด€๋ฆฌ์ž ํŒจ๋„ ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ JSON ์‘๋‹ต์— ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋…ธ์ถœํ•˜๋Š” ๋ฐ˜๋ฉด CVE-2022-30618์€ ์œ ์‚ฌํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์—ฐ๊ตฌ์›๋“ค์€ ์ฒซ ๋ฒˆ์งธ ์ทจ์•ฝ์ ์œผ๋กœ ์ธํ•ด Strapi ๊ด€๋ฆฌ์ž ํŒจ๋„์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐœ์ธ ๋ฐ์ดํ„ฐ์™€ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์ด๋ฉ”์ผ ์ฃผ์†Œ, ์•”ํ˜ธ ์žฌ์„ค์ • ํ† ํฐ ๋ฐ ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž๊ฐ€ ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ˜ํ…์ธ ์™€ ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ๋‹ค๋ฅธ ๊ด€๋ฆฌ์ž ํŒจ๋„ ์‚ฌ์šฉ์ž์— ๊ด€ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ง๊ฐ„์ ‘์ ์ธ ๊ด€๊ณ„๋ฅผ ํ†ตํ•ด JSON ์‘๋‹ต์—์„œ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ์„ธ๋ถ€ ์ •๋ณด๊ฐ€ ์œ ์ถœ๋  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

์ตœ๊ทผ no-code ๋ฐ low-code ํ”Œ๋žซํผ์ด ์ธ๊ธฐ๋ฅผ ๋Œ๋ฉด์„œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž์™€ ์‚ฌ์šฉ์ž๊ฐ€ ์ž ์žฌ์ ์ธ ๋ณด์•ˆ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๊ฒฝ๊ณ„ํ•˜๋Š” ๊ฒƒ์ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. no-code ๊ฐ•๋ ฅํ•œ ํ”Œ๋žซํผ์ธ AppMaster ํ™•์žฅ์„ฑ๊ณผ ์„ฑ๋Šฅ์— ์ค‘์ ์„ ๋‘” ์•ˆ์ „ํ•œ ๋ฐฑ์—”๋“œ, ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒ์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. AppMaster์˜ ๊ธฐ์ˆ ์€ ๋ณด์•ˆ ์ทจ์•ฝ์ ์˜ ์œ„ํ—˜์„ ํฌ๊ฒŒ ์ค„์—ฌ ์ค‘์†Œ๊ธฐ์—…์—์„œ ๋Œ€๊ธฐ์—…์— ์ด๋ฅด๋Š” ๊ด‘๋ฒ”์œ„ํ•œ ๊ณ ๊ฐ์„ ์œ„ํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ๋” ๋น ๋ฅด๊ณ  ๋น„์šฉ ํšจ์œจ์ ์œผ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

Easy to start
Create something amazing

Experiment with AppMaster with free plan.
When you will be ready you can choose the proper subscription.

Get Started
Strapi CMS์—์„œ ๋ฐœ๊ฒฌ๋œ ์ค‘์š”ํ•œ JSON ์ทจ์•ฝ์ , ๋ฐ์ดํ„ฐ ๋ณด์•ˆ์— ๋Œ€ํ•œ ์ž ์žฌ์  ์œ„ํ˜‘ | AppMaster