fix(security): Upgrade iceberg to 1.9.0 to address CVE-2025-27820#26277
fix(security): Upgrade iceberg to 1.9.0 to address CVE-2025-27820#26277ShahimSharafudeen wants to merge 1 commit intoprestodb:masterfrom
Conversation
2ec103f to
b30a0f0
Compare
|
Please look into the test failures |
|
Thanks for the release note entry! Minor nits. |
b30a0f0 to
059945d
Compare
@PingLiuPing : I attempted to upgrade the Iceberg version from 1.8.1 to 1.9.0, but this is breaking one of our test cases: In Iceberg 1.8.1, the default behavior for unauthorized users was to return a This behavior change appears to be introduced in the following OS Iceberg PR: apache/iceberg#12197 This failing test case was originally written in OSS Presto as part of the fix for a REST session bug in Iceberg REST catalogs: #23722 Currently, I am investigating how to craft a request for an unauthorized session to reproduce the 403 Forbidden: User not authorized response in Iceberg 1.9.0 and later. |
Root Cause of Test Failure: In Iceberg 1.8.1, the /v1/oauth/tokens endpoint was supported for handling OAuth2 token exchanges. However, in Iceberg 1.9.0, this endpoint was removed to mitigate potential security risks, and all authentication is now handled externally through a pluggable Auth Manager. Iceberg 1.8.1 endpoint responses :
Iceberg 1.9.0 endpoint response :
In our test case scenario for validating the unauthorized user flow, the authorization details are retrieved from the header section of the /v1/oauth/tokens response, where the token details are stored under the “Authorization” header. If the response’s authorization details do not match the existing session’s authorization details, the IcebergRestCatalogServlet returns “Forbidden: User not authorized.” However, since Iceberg 1.9.0 no longer provides authorization details in the response, this validation logic is bypassed — causing the unauthorized scenario to succeed unexpectedly, which results in the test case failure. @PingLiuPing @tdcmeehan — Do you have any suggestions on how to handle this test failure case? In this iceberg 1.9.0 upgrade scenario, is this particular test case check still relevant? |
059945d to
f89846a
Compare
|
This failing test case does not represent the real flow of an unauthorized user. This scenario is actually for the “Authentication None supported” case, which is why all user requests succeed there. In this test case, the previous contributor attempted to validate user details from the Iceberg response by comparing cached session details for both an authorized and an unauthorized user. After the Iceberg 1.9.0 upgrade, these user details are no longer available in the Iceberg response. |
|
Closing this PR in favor of #26879. |



Description
Upgrade iceberg version to 1.9.0 to address CVE-2025-27820
Upgrade the Avro version to 1.12.0 to resolve unit test failures caused by the Iceberg version upgrade.
This vulnerability originates from a recent iceberg upgrade commit : https://github.com/prestodb/presto/pull/25999/files
Motivation and Context
Impact
Test Plan
Contributor checklist
Release Notes
Please follow release notes guidelines and fill in the release notes below.