🔍 CVE-2026-102983

0.0
CVSS Score
UNKNOWN
2026-09-30
2026-09-30 19:38
✅ 완료

🇰🇷 한글 설명

Astro 웹 프레임워크의 @astrojs/netlify 어댑터에서 정규 표현식 검증 시 URL 시작 부분을 고정하지 않는 취약점이 발견되었습니다. 이로 인해 공격자가 허용된 도메인이 포함된 경로를 사용하여 악의적인 URL을 이미지 CDN에 요청하게 만들 수 있습니다. 해당 취약점은 버전 8.2.4에서 수정되었습니다.

💡 쉬운 설명

웹사이트가 허용된 주소에서만 이미지를 가져오도록 설정되어 있지만, 주소의 뒷부분만 보고 판단하는 허점이 있습니다. 공격자는 이 허점을 이용해 허용되지 않은 엉뚱한 주소의 이미지를 불러오게 만들 수 있습니다.

🇺🇸 원문 (English)

Astro is a web framework for content-driven websites. From 5.2.0 until 8.2.4, the @astrojs/netlify adapter generates regular expressions for Netlify Image CDN remote-image allowlists without anchoring them to the beginning of the URL. Because Netlify evaluates these expressions with RegExp.test(), an allowed origin appearing only in a source URL's path or query can satisfy image.domains or image.remotePatterns while the URL's actual host remains attacker-controlled. An unauthenticated request to the public /.netlify/images endpoint can therefore cause the Image CDN to request attacker-selected URLs and may probe or reach internal services. Netlify egress protections may constrain reachable targets, and image transformation limits direct response exfiltration; no confidentiality or integrity impact has been demonstrated. This issue is fixed in version 8.2.4.

📍 영향받는 시스템

@astrojs/netlify adapter (Astro 버전 5.2.0 ~ 8.2.4)

⚔️ 공격 벡터

공격자가 조작된 URL을 포함한 요청을 /.netlify/images 엔드포인트로 전송하여 내부 서비스 탐색 또는 외부 URL 요청 유도

🛡️ 대응 방법

@astrojs/netlify 어댑터를 버전 8.2.4 이상으로 업데이트하십시오.

🔧 검증 코드

명령어 결과에 버전 번호가 출력되면 취약한 버전이 설치되어 있는 상태입니다.

Shell / Script
npm list @astrojs/netlify | grep -E '@astrojs/netlify@([5-8]\.[2-9]\.|8\.[0-2]\.)'

💻 영향받는 소프트웨어

Spring Web Services