apache / apache/iceberg

The Key Vault client trusts any configured vault URL and reuses ambient Azure credentials

Open
#16,465 1 comment 0 reactions 0 assignees View on GitHub
Security
Dominant language
Java
Stars
9.2k
Forks
3.5k
Avg merge
2d 11h
Merged PRs (30d)
132

Description

> This issue was reported to the private Apache Iceberg security mailing list. The submitter is being kept anonymous because the report was sent to a private list. After review, the issue is not considered a serious vulnerability that needs to be kept private, so it is being filed publicly here for tracking and resolution.
>
> Note: this submission was generated by AI. Please review its claims and source references carefully before acting on them.

# Summary

The Key Vault client accepts any configured vault URL and
authenticates with ambient Azure credentials, turning mis-scoped
config into token exfiltration risk.

# Affected Maven coordinates

* primary shipped client artifact: `org.apache.iceberg:iceberg-azure`
* bundle artifact: `org.apache.iceberg:iceberg-azure-bundle`

# Attacker prerequisites

* control over the affected catalog response, configuration surface,
or spec-consumed routing value
* a client or service that honors the affected configuration without
an additional allow-list

# Impact

* A malicious or mis-scoped configuration can redirect Key Vault
authentication traffic to a non-Key-Vault endpoint.
* That can expose bearer tokens or other auth context to an
attacker-controlled service.
* This is less exposed than the ADLS location issue because it is
config-driven rather than metadata-driven, but it is still an
endpoint-trust break.

# Proof status

I reproduced this locally with a targeted reproducer or exploit.
The observed result matches the trigger and impact described above.

# Key source references

* org.apache.iceberg.azure.AzureProperties
* org.apache.iceberg.azure.keymanagement.AzureKeyManagementClient

Contributor guide

Open the contributing guide

Research direction

Start with org.apache.iceberg.azure.AzureProperties and org.apache.iceberg.azure.keymanagement.AzureKeyManagementClient, tracing how the vault URL and Azure credentials are obtained and used. Reproduce the reported redirect scenario, then identify the existing security tests or test entry points for this client. Done means the reported untrusted-endpoint and ambient-credential behavior is addressed and covered by regression tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, java
Domain
cloud, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.