CVE-2026-46354
KrytyczneCVSS 9.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 17 - wyżej niż 17% wszystkich znanych CVE
Streszczenie
W Coder przed wersjami 2.24.5, 2.29.13, 2.30.8, 2.31.12, 2.32.2 i 2.33.3 funkcja `azureidentity.Validate()` nie weryfikuje podpisu PKCS#7, a jedynie sprawdza, czy certyfikat podpisującego pochodzi od zaufanego urzędu certyfikacji Azure. Atakujący może osadzić prawdziwy certyfikat Azure wraz z dowolną treścią, np. `{"vmId":"<target>"}`, a sfałszowane `vmId` zostanie zaakceptowane, co umożliwi przejęcie tokena sesji agenta ofiary.
Ocena ryzyka
Ryzyko polega na możliwości nieautoryzowanego dostępu do środowisk zdalnych deweloperskich bez uwierzytelnienia. Atakujący, znając `vmId` ofiary (UUIDv4), może przejąć token sesji agenta, co prowadzi do naruszenia poufności i integralności danych.
Rekomendacja
Zaleca się natychmiastową aktualizację Coder do wersji 2.24.5, 2.29.13, 2.30.8, 2.31.12, 2.32.2 lub 2.33.3. Jako tymczasowe obejście, należy przekonfigurować szablony Azure, aby używały uwierzytelniania tokenem zamiast `azure-instance-identity`.
Oryginalny opis (angielski, źródło NVD)
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`.

