apache/iceberg
在 GitHub 查看`remove_orphan_files` scopes `file_list_view` with raw string prefix matching
Open
#16,493 建立於 2026年5月20日
buggood first issue
描述
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
Spark scopes file_list_view with raw string prefix matching, letting
sibling paths fall inside orphan cleanup.
Affected Maven coordinates
- versioned integration artifacts:
org.apache.iceberg:iceberg-spark-3.4_*,org.apache.iceberg:iceberg-spark-3.5_*,org.apache.iceberg:iceberg-spark-4.0_2.13,org.apache.iceberg:iceberg-spark-4.1_2.13
Attacker prerequisites
- control over a path, prefix, batch, or file list that sits adjacent to a legitimately scoped prefix
- ability to trigger the credential-selection or cleanup path with that crafted input
Impact
- A table location like
s3://bucket/tablealso matches sibling prefixes such ass3://bucket/table-backup/.... - If the caller supplies a crafted
file_list_view, files outside the intended directory can be treated as in-scope and deleted. - This weakens scope checks even when the explicit
locationoverride is not used.
Proof status
Source review only. The issue is visible directly from source.
Key source references
- org.apache.iceberg.spark.actions.DeleteOrphanFilesSparkAction