Description
azureauthextension is the Azure Authenticator Extension. From 0.124.0 to 0.150.0, a server-side authentication bypass in azureauthextension allows any party who holds a single valid Azure access token for any scope the collector's configured identity can mint for to authenticate to any OpenTelemetry receiver that uses auth: azure_auth. The extension's Authenticate method does not validate incoming bearer tokens as JWTs. Instead, it calls its own configured credential to obtain an access token and compares the client's token to the result with string equality — and the scope for that server-side token request is taken from the client-supplied Host header. As a result, a token minted for any Azure resource the service principal has ever been issued a token for (ARM, Graph, Key Vault, Storage, etc.) will authenticate to the collector if the attacker picks a matching Host. Tokens are replayable for the full issued lifetime (commonly several hours for managed identity tokens).
Problem types
CWE-208: Observable Timing Discrepancy
CWE-287: Improper Authentication
CWE-290: Authentication Bypass by Spoofing
CWE-294: Authentication Bypass by Capture-replay
CWE-347: Improper Verification of Cryptographic Signature
Product status
References
github.com/...ontrib/security/advisories/GHSA-pjv4-3c63-699f
github.com/...ontrib/security/advisories/GHSA-pjv4-3c63-699f