spiffe/spire

Azure IMDS Plugin: Attestation Failures Due to Incomplete CA Pattern Coverage

Open

#6,952 创建于 2026年5月12日

在 GitHub 查看
 (1 评论) (0 反应) (0 负责人)Go (631 fork)auto 404
help wantedpriority/backlog

仓库指标

Star
 (2,443 star)
PR 合并指标
 (PR 指标待抓取)

描述

The Azure IMDS node attestor fails for VMs in certain Azure regions because it only validates one of three CA naming patterns Microsoft uses:

  • Pattern 1: Microsoft Azure RSA TLS Issuing CA XX (validated)
  • Pattern 2: Microsoft TLS G1 RSA CA OCSP XX (fails)
  • Pattern 3: Microsoft TLS G2 RSA CA OCSP XX (fails)

VMs with Pattern 2/3 certificates fail validation despite having legitimate Microsoft-issued certificates. This causes unpredictable attestation failures across Azure regions.

Root cause: The plugin validates intermediate CA names via regex instead of following Azure's official guidance (https://learn.microsoft.com/en-us/azure/virtual-machines/instance-metadata-service?tabs=linux#signature-validation-guidance) to validate the certificate Subject Alternative Name (SAN).

Additional issue: Missing Microsoft TLS RSA Root G2 root certificates (both self-signed and cross-signed versions), causing failures for 3-level certificate chains.

贡献者指南