🔍 CVE-2026-46354

9.1
CVSS Score
CRITICAL
2026-07-07
2026-07-08 19:47
✅ 완료

🇰🇷 한글 설명

Coder의 특정 버전에서 azureidentity.Validate() 함수가 PKCS#7 서명 자체를 검증하지 않는 취약점이 발견되었습니다. 공격자는 유효한 Azure 인증서를 포함한 위조된 데이터를 전송하여 대상 VM의 세션 토큰을 탈취할 수 있습니다. 이 취약점은 인증 없이도 대상 VM의 UUIDv4를 알면 공격이 가능합니다.

💡 쉬운 설명

인증서의 유효성만 확인하고 실제 서명이 진짜인지 확인하지 않는 허점을 이용한 공격입니다. 공격자가 가짜 정보를 담은 인증서를 보내면 시스템이 이를 믿고 중요한 접속 권한(세션 토큰)을 넘겨줄 수 있습니다.

🇺🇸 원문 (English)

Coder allows organizations to provision remote development environments via Terraform. In versions prior tp 2.24.5, 2.29.13, 2.30.8, 2.31.12, 2.32.2, and 2.33.3, `azureidentity.Validate()` verifies that the PKCS#7 signer certificate chains to a trusted Azure CA but never verifies the PKCS#7 signature itself. An attacker can embed a legitimate Azure certificate alongside arbitrary content e.g. `{"vmId":"<target>"}` and the forged `vmId` will be accepted returning the victim workspace agent's session token. No authentication is required. The attacker only needs to know a target VM's `vmId` which is a `UUIDv4`. That's a practical limitation which would typically require prior access to be exploited. Versions 2.24.5, 2.29.13, 2.30.8, 2.31.12, 2.32.2, and 2.33.3 patch the issue. As a workaround, reconfigure any Azure templates to use token authentication rather than `azure-instance-identity`.

📍 영향받는 시스템

Coder versions prior to 2.24.5, 2.29.13, 2.30.8, 2.31.12, 2.32.2, and 2.33.3

⚔️ 공격 벡터

대상 VM의 UUIDv4를 이용해 유효한 Azure 인증서가 포함된 위조된 PKCS#7 데이터를 전송하여 세션 토큰 탈취

🛡️ 대응 방법

Coder를 패치된 버전(2.24.5, 2.29.13, 2.30.8, 2.31.12, 2.32.2, 2.33.3 이상)으로 업데이트하거나 Azure 템플릿의 인증 방식을 token authentication으로 변경

🔧 검증 코드

명령어 결과에 패치된 버전 번호가 나타나면 취약점이 해결된 상태입니다.

Shell / Script
coder --version | grep -E '2.24.5|2.29.13|2.30.8|2.31.12|2.32.2|2.33.3'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Azure