์ด ์์ ์์ ์ต์ ๋ธ๋ผ์ฐ์ ์์ ์ต์ JavaScript ๊ธฐ๋ฅ์ ๋ํ ์ง์์ jQuery๋ฅผ ์ผ๋ฐ JavaScript๋ก ๋์ฒดํ๊ธฐ์ ์ถฉ๋ถํ ๊ฒ์ ๋๋ค. ์ต์ํํ๋๋ผ๋ jQuery ๋ฒ๋ค๋ง์ PyPI์์ ํ ์ ์ต์ข ํฌ๊ธฐ์ 1/4์ ๋๋ค. ๋ํ ๋๋ฒ๊ฑฐ์ ์ํฅ์ ๋ฏธ์น์ง ์์์๋ ๋ถ๊ตฌํ๊ณ ๋์ค๋ CVE๋ก ์ธํด jQuery๋ฅผ ์ ๋ฐ์ดํธํ๋ผ๋ ์์ฒญ์ ๊ณ์ ๋ฐ๊ณ ์์ต๋๋ค.
jQuery์ ๋์ผํ ๋ธ๋ผ์ฐ์ ๋ฒ์ ์ ์ง์ํด์ผ ํฉ๋๋ค: https://jquery.com/browser-support/. IE๊ฐ ๋ฌธ์ ๊ฐ ๋๋ฌด ๋ง๋ค๋ฉด ์๋ง ์ญ์ ํ๊ฒ ์ต๋๋ค. ํ์ด์ง ๋ทฐ์ 0.3%๋ง ์ฐจ์งํฉ๋๋ค(์ต์ํ ๋ฌธ์์ ๊ฒฝ์ฐ).
ํ๋์ ์ด์ง ์์ ๊ฒ์ ๋ชจ๋ ๋ฒ๋ฆฌ๊ฒ ์ต๋๋ค. ๊ทธ๊ฒ์ ๊ฐ๋ฐ์ ๋๊ตฌ์
๋๋ค. ์ ์ค๋๋ ์ฐ๋ ๊ธฐ๋ฅผ ๊ท์ฐฎ๊ฒํฉ๋๊น?
์ฌ์ดํธ๋ฅผ ๊ณ ๋ ๋ธ๋ผ์ฐ์ ์์ ์ ์๋ํ๋๋ก ๋ง๋ค์ด์ผ ํ๋ ๊ฐ๋ฐ์์ธ ๊ฒฝ์ฐ. ์ ๊ฐ์ค๋ฝ์ง๋ง ๊ทธ์ ๋ํ ๋๊ฐ๋ฅผ ์ ์น๋ฅด๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๊ทธ๋ ๋ค๊ณ ํด์ ์ผ์์ ์ธ ๊ฐ๋ฐ์ ์ด์ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ๋ค๋ ์๋ฏธ๋ ์๋๋๋ค. ๋ฐ๋ผ์ Werkzeug ๋๋ฒ๊ฑฐ๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ค๋ฉด ์๋ง๋ ๋ถ์พํ ์ด์ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ๊ณ ์์ง ์์ ๊ฒ์
๋๋ค.
๋ฐ๋ผ์ IMHO๋ ์ต์ Firefox, Chrome, Edge, Safari ๋ฒ์ ๋ง ์ง์ํฉ๋๋ค. ์ด์ EdgeHTML ๋ฒ์ ๊ณผ IE(IE 11๋ ํฌํจ)๋ฅผ ์ง์ํ๋ ๊ฒ์ ์ด์ JS๋ฅผ ์์ฑํ๊ฑฐ๋ ํธ๋์คํ์ผํด์ผ ํจ์ ์๋ฏธํ๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ๊ณจ์น ์ํ ์ผ์ ๋๋ค. ์ค๋๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ฒ๋ฆฌ๋ฉด ๋ชจ๋ ์ต์ ๊ธฐ๋ฅ์ "๋ฌด๋ฃ๋ก" ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ผ์ข ์ ๊ธฐ์ค์ ์ด ํ์ํ๊ณ ๊ทธ๊ฒ๋ ๊ด์ฐฎ์ ๊ฒ์ ๋๋ค(๊ธฐ๋ณธ์ ์ผ๋ก IE๋ฅผ ์ ์ธํ๊ณ jQuery์ ์ผ์นํจ). ์ต์ํ Firefox ESR์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
ESR์ด ๊ฐ๋ฐ์ ๋๊ตฌ์ ๊ด๋ จ์ด ์๋์ง ์์ฌ์ค๋ฝ์ต๋๋ค. ์ด์จ๋ ๋ค์ ESR ์ฃผ์ ๋ฆด๋ฆฌ์ค๋ ๋ค์ ๋ฌ์ ๋์ฌ ์์ ์ด๋ฉฐ ์๋ ์ ๋๋ฒ๊ฑฐ์ ๊ด๋ จ๋ ์ค์ํ ๋ณ๊ฒฝ ์ฌํญ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ฌธ์ํ๋ ๋ด์ฉ์ด ํ์ํ๋ฉด "์ต์ ๋ฒ์ ์ Firefox, Chrome, Edge ๋ฐ Safari์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ด ๋จธ๋ฆฌ ๊ผญ๋๊ธฐ์์ ์๊ฐํ๋ ์ ์ผํ ๊ธฐ๋ฅ์ ๊ฐ์ ธ์ค๊ธฐ ๋ XHR์ด์์ต๋๋ค. ๊ฐ์ ธ์ค๊ธฐ๊ฐ ์์ ํ๊ธฐ ํจ์ฌ ๋ ์ข์ง๋ง IE๋ ์ ์ธ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ์, ์ง๊ธ์ ์์ ํ ํ๋์ ์ผ๋ก ๊ฐ์.
๋ํ ๋๋ฒ๊ฑฐ์ ์ํฅ์ ๋ฏธ์น์ง ์์์๋ ๋ถ๊ตฌํ๊ณ ๋์ค๋ CVE๋ก ์ธํด jQuery๋ฅผ ์ ๋ฐ์ดํธํ๋ผ๋ ์์ฒญ์ ๊ณ์ ๋ฐ๊ณ ์์ต๋๋ค.
์ด๊ฒ์ ๋์๊ฒ ํฐ ๊ณ ํต์ ๋๋ค. ๋ช ์ฃผ/๋ฌ๋ง๋ค ๋ด ๋ชจ๋ ํ์ด์ฌ ํ๋ก์ ํธ๋ ์ด jquery ์ข ์์ฑ์ผ๋ก ์ธํด ์๋ก์ด ๋ณด์ ๋ฐ๊ฒฌ์ผ๋ก ํญ๋ฐํฉ๋๋ค.
find venv -name jquery*
venv/lib/python3.7/site-packages/werkzeug/debug/shared/jquery.js
@kx-chen๊ณผ @chrisngyn ์ด ์์ ํ๊ฒ ์ต๋๋ค!
Gist API์ Gist๋ฅผ ์์ฑ ํ๋ ค๋ฉด ์ธ์ฆ ํ ํฐ ์ด
๊ณต๊ฐ ์์ง๋ ์ต๋ช ์ผ๋ก ์ฝ์ ์ ์์ง๋ง ์์ง๋ฅผ ์์ฑํ๋ ค๋ฉด GitHub์ ๋ก๊ทธ์ธํด์ผ ํฉ๋๋ค. ์ฌ์ฉ์๋ฅผ ๋์ ํ์ฌ ์์ ์ ์ฝ๊ฑฐ๋ ์ฐ๋ ค๋ฉด ์์ OAuth ๋ฒ์์ ํ ํฐ์ด ํ์ํฉ๋๋ค.
๋ฒํผ์ ํด๋ฆญํ๋ฉด GitHub์์ 401 ์ค๋ฅ๊ฐ ๋ฐํ๋๊ณ ๋๋ฒ๊ฑฐ์์ 500 ์ค๋ฅ๋ก ๋ณํ๋ฉ๋๋ค. ํญ์ ๊ทธ๋ฐ ๊ฒ์ ์๋์ง๋ง ์ง๊ธ์ ๋ถ๋ช ํ ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. GitHub์ OAuth ํ๋ฆ์ ๊ฑฐ์น๋ ๊ฒ์ด ๋๋ฒ๊ฑฐ ๋ฒ์์ ์๋ค๊ณ ์๊ฐํ์ง ์์ผ๋ฏ๋ก ๋ถ์ฌ๋ฃ๊ธฐ/์์ ์์ฑ๊ณผ ๊ด๋ จ๋ ๋ฒํผ, ์ฝ๋ ๋ฐ ๋ฌธ์๋ฅผ ์ ๊ฑฐํฉ์๋ค.
#1857๋ก ์์ ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@kx-chen๊ณผ @chrisngyn ์ด ์์ ํ๊ฒ ์ต๋๋ค!