CVE-2026-59247 in gleam
요약
\~에 의해 VulDB • 2026. 07. 29.
Hex 패키지의 데이터 진위 확인이 불충분한 취약점이 Gleam에서 발견되어, 중간자 공격자가 의존성 해결 과정에서 위조된 Hex 패키지 내용을 교체할 수 있습니다.
의존성 해결 중 Gleam은 서명 검증이 완료된 Hex 저장소에서 각 릴리스의 의존성 요구 사항과 SHA-256 outer_checksum을 포함하는 패키지 메타데이터를 가져옵니다. 버전이 결정되면, `gleam_cli::dependencies::lookup_package`는 서명이 없는 Hex API로 두 번째 요청을 수행하며(`gleam_core::hex::get_package_release` 통함), 해당 JSON 응답에서 받은 outer_checksum과 의존성 이름을 검증된 저장소 메타데이터의 값 대신 `manifest.toml`에 기록합니다. Hex 저장소의 서명은 이 API 응답을 보호하지 않습니다.
Gleam 프로세스가 신뢰하는 인증서(예: 운영 체제의 신뢰할 수 있는 루트 저장소에 포함된 CA를 사용하거나 GLEAM_CACERTS_PATH 경로를 통해 추가된 TLS 검사 프록시)로 TLS 트래픽을 가로챌 수 있고, API 릴리스 응답과 해당 저장소 tarball 모두를 수정할 수 있는 중간자 공격자는 Hex 저장소의 서명 키 없이 일치하는 위조 체크섬을 가진 패키지 아카이브를 제공할 수 있습니다. Gleam은 위조된 tarball이 위조된 체크섬과 일치하는지 검증하고 이를 받아들이며, 의존성 소스로 추출합니다. 이로 인해 다운로드된 패키지의 무결성이 손실됩니다.
Hex 의존성을 해결하거나 업데이트하는 프로젝트만 영향을 받습니다. 이는 매니페스트가 누락되었거나, 의존성이 추가/업데이트되거나, 의존성 요구 사항이 변경될 때 발생합니다. 변경되지 않고 신뢰할 수 있는 `manifest.toml`을 재사용하여 빌드하는 경우 tarball은 고정된 체크섬에 대해 계속 검증됩니다. 이 이슈는 gleam 0.18.0부터 1.18.0 미만 버전까지 영향을 미칩니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.