์‹œ์Šคํ…œ์˜ ํŒŒ์ผ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ํ—ˆ์šฉํ•˜๋Š” Grafana์˜ ์ทจ์•ฝ์ 

๊ฐœ๋ฐฉํ˜• ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ํ”Œ๋žซํผ Grafana์—์„œ ์ทจ์•ฝ์ (CVE-2021-43798)์ด ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ธฐ๋ณธ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋ฒ—์–ด๋‚˜ ์„œ๋ฒ„์˜ ๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์žˆ๋Š” ์ž„์˜ ํŒŒ์ผ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Grafana๊ฐ€ ์‹คํ–‰๋˜๋Š” ์‚ฌ์šฉ์ž์˜ ํ—ˆ์šฉ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฌธ์ œ๋Š” ๊ฒฝ๋กœ ํ•ธ๋“ค๋Ÿฌ "/public/plugins/"์˜ ์ž˜๋ชป๋œ ์ž‘๋™์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. /", ๊ธฐ๋ณธ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์•ก์„ธ์Šคํ•˜๊ธฐ ์œ„ํ•ด ".." ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โ€œ/public/plugins/graph/โ€, โ€œ/public/plugins/mysql/โ€, โ€œ/public/plugins/prometheus/โ€(์•ฝ 40๊ฐœ ์ •๋„) ๋“ฑ ์‚ฌ์ „ ์„ค์น˜๋œ ์ผ๋ฐ˜์ ์ธ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ URL์— ์ ‘๊ทผํ•˜์—ฌ ์ทจ์•ฝ์ ์„ ์•…์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์ด ์‚ฌ์ „ ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค). ์˜ˆ๋ฅผ ๋“ค์–ด /etc/passwd ํŒŒ์ผ์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด "/public/plugins/prometheus/../../../../../../../../etc" ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. /๋น„๋ฐ€๋ฒˆํ˜ธ" . ์•…์šฉ ํ”์ ์„ ํ™•์ธํ•˜๋ ค๋ฉด http ์„œ๋ฒ„ ๋กœ๊ทธ์— "..%2f" ๋งˆ์Šคํฌ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์˜ ํŒŒ์ผ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ํ—ˆ์šฉํ•˜๋Š” Grafana์˜ ์ทจ์•ฝ์ 

์ด ๋ฌธ์ œ๋Š” ๋ฒ„์ „ 8.0.0-beta1๋ถ€ํ„ฐ ๋‚˜ํƒ€๋‚˜ Grafana 8.3.1, 8.2.7, 8.1.8 ๋ฐ 8.0.7 ๋ฆด๋ฆฌ์Šค์—์„œ ์ˆ˜์ •๋˜์—ˆ์ง€๋งŒ ์œ ์‚ฌํ•œ ์ทจ์•ฝ์  2021๊ฐœ๊ฐ€ ๋” ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(CVE-43813-2021, CVE-43815-5.0.0) Grafana 8.0.0 ๋ฐ Grafana 3-beta8.3.2๋ถ€ํ„ฐ ๋“ฑ์žฅํ–ˆ์œผ๋ฉฐ ์ธ์ฆ๋œ Grafana ์‚ฌ์šฉ์ž๊ฐ€ ํ™•์žฅ์ž๊ฐ€ ".md" ๋ฐ ".csv"์ธ ์‹œ์Šคํ…œ์˜ ์ž„์˜ ํŒŒ์ผ(ํŒŒ์ผ ํฌํ•จ)์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฆ„์€ ์†Œ๋ฌธ์ž๋กœ๋งŒ ๋˜๋Š” ๋Œ€๋ฌธ์ž๋กœ๋งŒ), "/api/plugins/.*/markdown/.*" ๋ฐ "/api/ds/query" ๊ฒฝ๋กœ์—์„œ ".." ๋ฌธ์ž๋ฅผ ์กฐ์ž‘ํ•˜์—ฌ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ทจ์•ฝ์ ์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด Grafana 7.5.12 ๋ฐ XNUMX ์—…๋ฐ์ดํŠธ๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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