🔍 CVE-2026-58371

3.1
CVSS Score
LOW
2026-06-30
2026-07-14 22:17
✅ 완료

🇰🇷 한글 설명

SeaweedFS 4.30 미만 버전에서 shared writeJson 헬퍼 함수가 callback 쿼리 파라미터를 검증 없이 응답에 그대로 반영하는 취약점이 발견되었습니다. 이로 인해 Content-Type이 application/javascript인 응답에 nosniff 헤더가 누락되어, 공격자가 교차 출처(Cross-Origin) 방식으로 클러스터 토폴로지, 볼륨 서버 URL, 디렉토리 목록 등 민감한 정보를 탈취할 수 있습니다.

💡 쉬운 설명

웹사이트가 외부의 허락 없이 내부의 중요한 정보를 읽어갈 수 있게 허용하는 보안 구멍이 있습니다. 공격자는 이를 이용해 서버의 구조나 파일 목록 같은 민감한 정보를 몰래 훔쳐볼 수 있습니다.

🇺🇸 원문 (English)

SeaweedFS before 4.30 reflects the callback query parameter verbatim into responses served with Content-Type application/javascript in the shared writeJson helper (weed/server/common.go), with no callback-name validation, no X-Content-Type-Options: nosniff header, and no CORS allow-list. Every JSON endpoint that uses writeJson - including the unauthenticated master endpoints /dir/status, /dir/lookup and /cluster/status, the volume server /status, and the filer directory listing, all reachable in the default configuration (no -whiteList, no security.toml, bound to 0.0.0.0) - can therefore be loaded cross-origin via a script tag with a chosen callback, letting a third-party web page read cluster topology, volume server URLs and gRPC ports, file identifiers, and directory listings. Because the callback string is reflected at the start of the body and no nosniff header is sent, MIME-sniffing clients may also interpret the reflected content as HTML.

📍 영향받는 시스템

SeaweedFS version < 4.30

⚔️ 공격 벡터

교차 출처(Cross-Origin) 요청을 통한 민감한 JSON 데이터 탈취 및 MIME-sniffing 공격

🛡️ 대응 방법

SeaweedFS를 4.30 이상의 최신 버전으로 업데이트하거나, 보안 설정(security.toml, whitelist)을 적용하여 접근을 제한하십시오.

🔧 검증 코드

응답 헤더에 'X-Content-Type-Options: nosniff'가 없거나 callback 파라미터가 그대로 반사되는지 확인합니다.

Shell / Script
curl -s -I http://<target-ip>:<port>/dir/status | grep -E 'Content-Type|X-Content-Type-Options'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N

💻 영향받는 소프트웨어

IBM WebSphere Application Server