Nodemailer-mailgun-transport: λ„·λ§ˆμŠ€ν¬ ν”ŒλŸ¬κ·ΈμΈμ˜ 심각도가 높은 취약점

에 λ§Œλ“  2021λ…„ 03μ›” 31일  Β·  17μ½”λ©˜νŠΈ  Β·  좜처: orliesaurus/nodemailer-mailgun-transport

  1. μ–΄λ–€ μ’…λ₯˜μ˜ 문제λ₯Ό λ³΄κ³ ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?
  2. nodemailer-mailgun-transport ^2.0.2 ν”ŒλŸ¬κ·ΈμΈμ˜ 버그(λ„·λ§ˆμŠ€ν¬ ν”ŒλŸ¬κ·ΈμΈ)
  3. 심각도가 높은 취약점

  4. 여기에 문제λ₯Ό μ§„μˆ ν•˜μ‹­μ‹œμ˜€.
    nodemailer-mailgun-transport ^2.0.2둜 "npm audit" λ˜λŠ” "npm install" μ‹€ν–‰
    λ‚˜μ—κ²Œ μ€€λ‹€:
    "8μ§„μˆ˜ μž…λ ₯ 데이터에 μ·¨μ•½ν•œ netmask npm νŒ¨ν‚€μ§€"
    ">=2.0.1μ—μ„œ 패치됨"

NetmaskλŠ” μ΅œλŒ€ 300,000개의 라이브 ν”„λ‘œμ νŠΈμ—μ„œ μ‚¬μš©λ©λ‹ˆλ‹€. 취약점은 μ•½ 이틀 전에 λ³΄κ³ λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

λͺ¨λ“  17 λŒ“κΈ€

이봐, λ‚˜λŠ” NON-VULNERABLE λ²„μ „μ˜ λ„·λ§ˆμŠ€ν¬λ₯Ό μ‚¬μš©ν•˜κΈ° μœ„ν•΄ package-lock.json 패치λ₯Ό μ‹œλ„ν–ˆλŠ”λ° νš¨κ³Όκ°€ μžˆμ—ˆλ˜ 것 κ°™μ•„? μ§€κΈˆ 보고 μžˆλŠ” λ‚΄μš©μ„ μ•Œλ €μ£Όμ„Έμš” :)

κΉ”λ”ν•œ 결제 + npm install μ—μ„œ λ‚˜μ—κ²Œ κ³ μ •λœ 것 κ°™μŠ΅λ‹ˆλ‹€.

yarn audit 톡해 ν”„λ‘œλ•μ…˜ ν”„λ‘œμ νŠΈμ—μ„œ μ—¬μ „νžˆ 보고 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ κ²Œμ‹œλ˜μ§€ μ•Šμ€ 것 κ°™μŠ΅λ‹ˆλ‹€.

@anachronic npm에 2.0.3 둜 κ²Œμ‹œν–ˆμŠ΅λ‹ˆλ‹€. - https://www.npmjs.com/package/nodemailer-mailgun-transport

ν˜„μž¬ 비곡식 mailgun 라이브러리λ₯Ό μ‚¬μš©ν•˜λŠ” nodemailer-mailgun-transport idκ°€ λΆ„λͺ…ν•©λ‹ˆκΉŒ? "곡식" λ²„μ „μœΌλ‘œ μ‰½κ²Œ ꡐ체할 수 μžˆμŠ΅λ‹ˆκΉŒ? μ μ ˆν•œ 쒅속성은 "mailgun.js"μ—¬μ•Ό ν•˜λ©° λ³΄μ•ˆ 취약점을 μ™„ν™”ν•  κ²ƒμž…λ‹ˆλ‹€(ν–₯ν›„ λ¬Έμ œμ— 도움이 되길 λ°”λžλ‹ˆλ‹€). ν† λ‘ : https://github.com/mailgun/mailgun-js/issues/122

예, 쒅속성을 λ³€κ²½ν•˜κ³  곡식 λΌμ΄λΈŒλŸ¬λ¦¬μ— μ‚¬μš©λ˜λŠ” μ½”λ“œ λΉ„νŠΈλ₯Ό λ‹€μ‹œ μž‘μ„±ν•˜μ‹­μ‹œμ˜€.
곡식 ν”ŒλŸ¬κ·ΈμΈ: https://www.npmjs.com/package/mailgun.js
더 이상 μ‚¬μš©λ˜μ§€ μ•ŠλŠ” ν”ŒλŸ¬κ·ΈμΈ: https://www.npmjs.com/package/mailgun-js(mailgun λ¬Έμ„œμ—μ„œ μ°Έμ‘°ν•˜λ―€λ‘œ ν˜Όλ™λ¨)

곡식은 ...require('mailgun-js')κ°€ μ•„λ‹Œ '...require=('mailgun.js)λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

ν”Όκ³€ν•˜μ§€λ§Œ tldr이 λ˜μ—ˆκΈ°λ₯Ό λ°”λžλ‹ˆλ‹€.

@zhyrin λˆ„κ΅°κ°€κ°€ μ½”λ“œ μž¬μž‘μ„±μ΄ μ–Όλ§ˆλ‚˜ ν•„μš”ν•œμ§€ μ•Œμ•„λ³΄κΈ° μœ„ν•΄ 쑰사λ₯Ό ν•΄μ•Ό ν•  것 κ°™μŠ΅λ‹ˆλ‹€.

관심이 μ—†λ‹€

@zhyrin λˆ„κ΅°κ°€κ°€ μ½”λ“œ μž¬μž‘μ„±μ΄ μ–Όλ§ˆλ‚˜ ν•„μš”ν•œμ§€ μ•Œμ•„λ³΄κΈ° μœ„ν•΄ 쑰사λ₯Ό ν•΄μ•Ό ν•  것 κ°™μŠ΅λ‹ˆλ‹€.

#104λŠ” 이에 λŒ€ν•œ μˆ˜μ • 사항이 μ•„λ‹™λ‹ˆκΉŒ?

관심이 μ—†λ‹€

μ—„μ²­λ‚œ! 적어도 당신은 μ˜€ν”ˆ μ†ŒμŠ€λ₯Ό μ–Όλ§ˆλ‚˜ μ’‹μ•„ν•˜λŠ”μ§€μ— λŒ€ν•΄ μ •μ§ν•©λ‹ˆλ‹€.

#104λŠ” 이에 λŒ€ν•œ μˆ˜μ • 사항이 μ•„λ‹™λ‹ˆκΉŒ?

ν•œ 번 λ³Όκ²Œμš”

μ΅œμ‹  λ²„μ „μ˜ 메일 건이 μ—¬μ „νžˆ μ·¨μ•½ν•œ 것 κ°™μŠ΅λ‹ˆκΉŒ? https://snyk.io/advisor/npm-package/mailgun-js

@omerlh μš°λ¦¬λŠ” λ‹€λ₯Έ κ²ƒμœΌλ‘œ μ—…κ·Έλ ˆμ΄λ“œν–ˆμŠ΅λ‹ˆλ‹€ - κ·Έ ν•˜λ‚˜λŠ” 더 이상 μ‚¬μš©λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€

μ–΄λŠ 것? μ΅œμ‹  버전이 μ—¬μ „νžˆ μ·¨μ•½ν•˜λ‹€λŠ” 것을 μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. https://snyk.io/advisor/npm-package/nodemailer-mailgun-transport

λ‚˜λŠ” 이것이 λ§ˆμŠ€ν„°μ—μ„œ ν•΄κ²°λ˜μ—ˆλ‹€κ³  μƒκ°ν•˜μ§€λ§Œ(#104 μ°Έμ‘°), 2.0.3(μΆœμ‹œλœ λ§ˆμ§€λ§‰ 버전)은 μˆ˜μ • μ΄μ „μ˜ λ§ˆμ§€λ§‰ 컀밋을 κ°€λ¦¬ν‚€λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

ν™•μ‹€ν•˜μ§€ μ•Šμ§€λ§Œ μƒˆ 버전을 κ²Œμ‹œν•˜λ©΄ 이 λ¬Έμ œκ°€ 해결될 수 μžˆμŠ΅λ‹ˆκΉŒ?

@orliesaurus μš°λ¦¬λŠ” @anachronic의 점을 κΈ°μ€€μœΌλ‘œ μƒˆ 릴리슀λ₯Όλ°›μ„ 수 μžˆλ‚˜μš”?

λ„€, λ§ˆμŠ€ν„°μ— μžˆλŠ” μ—…λ°μ΄νŠΈλ₯Ό λ°˜λ“œμ‹œ ν‘Έμ‹œν•΄μ•Ό ν•©λ‹ˆλ‹€! κ°μ‚¬ν•©λ‹ˆλ‹€!

이 버전 범프에 λŒ€ν•œ νƒ€μž„λΌμΈμ΄ μžˆμŠ΅λ‹ˆκΉŒ? μ΅œμ‹  버전이 λ§ˆμŠ€ν„°λ‘œ μ—…λ°μ΄νŠΈλ˜κΈ° 전에 이 티켓을 λ‹«μ•„μ•Ό ν•©λ‹ˆκΉŒ?

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰